Giá trị mặc định cho Guid là gì?


106

Giá trị mặc định cho intlà 0, cho stringlà "" và cho booleanlà false. Ai đó có thể vui lòng làm rõ giá trị mặc định cho guidlà gì không?


24
mặc định Guid{00000000-0000-0000-0000-000000000000}. Về cơ bản nó là số 0 nhị phân.
Szer


1
Trang web này có thể cung cấp cá trống 00000000-0000-0000-0000-000000000000.com
Matthew

Lưu ý thêm: giá trị mặc định của các chuỗi là null, không phải là "" (;
Johan Wintgens

Câu trả lời:


118

Bạn có thể sử dụng các phương pháp này để nhận được một hướng dẫn trống. Kết quả sẽ là một hướng dẫn với tất cả các chữ số của nó là 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty

42

Bạn có thể sử dụng Guid.Empty. Nó là một phiên bản chỉ đọc của cấu trúc Guid có giá trị là00000000-0000-0000-0000-000000000000

bạn cũng có thể sử dụng chúng để thay thế

var g = new Guid();
var g = default(Guid);

hãy cẩn thận không sử dụng Guid.NewGuid()vì nó sẽ tạo ra một Hướng dẫn mới.

sử dụng một trong các tùy chọn ở trên mà bạn và nhóm của bạn cho rằng nó dễ đọc hơn và tuân theo nó. Không kết hợp các tùy chọn khác nhau trên mã. Tôi nghĩ cái Guid.Emptytốt nhất vì nó new Guid()có thể khiến chúng ta nghĩ rằng nó đang tạo ra một hướng dẫn mới và một số có thể không biết giá trị của nó là gì default(Guid).


19

Giá trị mặc định cho GUID trống. (ví dụ: 00000000-0000-0000-0000-000000000000)

Điều này có thể được gọi bằng cách sử dụng Guid.Empty()hoặcnew Guid()

Nếu bạn muốn một GUID mới, bạn sử dụng Guid.NewGuid()


8
@anchor Tôi nhận thấy rằng bạn chưa bao giờ chấp nhận bất kỳ câu trả lời nào cho câu hỏi của mình. Tại đây - trong Câu hỏi thường gặp của StackExchange, bạn có thể đọc cách bạn có thể chấp nhận câu trả lời và tại sao bạn nên làm điều đó.
Genhis

1
@Genhis Tôi nghĩ anh ấy đã có được những gì anh ấy cần và sau đó rơi xuống mặt đất haha
David Watts

10

Để mở rộng các câu trả lời ở trên, bạn không thể sử dụng giá trị mặc định của Guid với Guid.Emptylàm đối số tùy chọn trong phương thức, trình chỉ mục hoặc định nghĩa đại biểu, vì nó sẽ cung cấp cho bạn lỗi thời gian biên dịch. Sử dụng default(Guid)hoặc new Guid()thay thế.


-1

Tạo Hướng dẫn trống hoặc Hướng dẫn mới bằng cách sử dụng một lớp ...

Giá trị mặc định của Guid là 00000000-0000-0000-0000-000000000000

public class clsGuid  ---This is class Name
{
    public Guid MyGuid { get; set; }
}

static void Main(string[] args)
        {
            clsGuid cs = new clsGuid();   
            Console.WriteLine(cs.MyGuid); --this will give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = new Guid();
            Console.WriteLine(cs.MyGuid); ----this will also give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = Guid.NewGuid();
            Console.WriteLine(cs.MyGuid); --this way, it will give new guid  "d94828f8-7fa0-4dd0-bf91-49d81d5646af"

            Console.ReadKey(); --this line holding the output screen in console application...
        }

vâng ... bạn có thể đặt giá trị lớp dưới dạng giá trị tĩnh ... hoặc sử dụng giá trị đó trong lớp ..
Akhilesh Singh

Tôi biết chúng ta có thể sử dụng Guid vì chúng ta có thể sử dụng bất kỳ loại nào khác trong C #. Câu hỏi của tôi là, liệu câu trả lời của bạn có chứa bất kỳ thông tin mới nào chưa từng có ở đây hay không. Có vẻ như tất cả thông tin bạn đăng đã được đăng bởi nhiều người khác từ nhiều năm trước.
nvoigt

vâng ... bạn đúng ... tôi nói rằng ... bạn có thể sử dụng hướng dẫn trống và hướng dẫn mới bằng cách sử dụng một lớp ... loại câu trả lời đó không có ... trong câu hỏi này ...
Akhilesh Singh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.