[英]C# Generics and Constraints
如果我有一個通用約束,其中C必須是一個結構:
class MyNum<C> where C : struct
{
C a;
public MyNum(C a)
{
this.a = a;
}
}
struct myStruct
{
public int a;
}
我明白這個編譯:
myStruct n = new myStruct();
n.a = 5;
MyNum<myStruct> str = new MyNum<myStruct>(n);
但為什么這會編譯。 ¿5號是一個結構嗎?
我想這樣做:
int b = 5;
b的類型為int,但不是struct struct。 我想我在這里遺漏了一些東西。
也只是使用正確的術語:
int b = 5;
我實例化b? 創建一個int實例? 出於某些原因,當我想到“實例”時,我會想到引用類型。
這里:
Car c1 = new Car();
在這里,我理解我正在創建一個Car實例或實例化c1。
是5是int,int是結構
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.