Int32 i = new Int32();
i = 10;
在这里,我是结构数据类型,我们给它的地方直接分配一个值
struct myst
{
}
myst mySt = new myst();
myst = 10;
在这里,我需要一个属性来分配这样的问题是Int32
如何能够分配一个值直接Struct对象?
如果我理解正确的话(我不知道如果我这样做)。隐式分配给一个自定义类型,你将需要实现的隐式操作
implicit operator (C# Reference)
隐式关键字用于声明的隐式用户定义的类型的转换运算符。使用它,以使用户定义的类型和另一种类型之间的隐式转换,如果转换保证不会造成数据的损失。
例
struct FunkyStruct
{
public FunkyStruct(int d) { val = d; }
public int val;
// ...other members
// User-defined conversion from Digit to double
public static implicit operator int(FunkyStruct d)
{
return d.val;
}
// User-defined conversion from double to Digit
public static implicit operator FunkyStruct(int d)
{
return new FunkyStruct(d);
}
}
用法
public static void Main()
{
FunkyStruct s;
s = 10;
Console.WriteLine(s.val);
}
更新
Console.WriteLine(S)和它应打印10就像INT我怎么能做到这一点
它已经这样做
神秘岛不是的Int32。有一两件事你可以在这里做的,创造的Int32变量内部结构和该分配值。
struct myst
{
public Int32 a { get; set; }
}
static void Main(string[] args)
{
myst mySt = new myst();
mySt.a = 10;
}