繁体   English   中英

如何直接分配Int32数据类型?

[英]How Int32 datatype is directly assigned?

Int32 i = new Int32();
i = 10;

在这里,我是struct数据类型,我们直接在其中分配一个值

struct myst
{
}

myst mySt = new myst();
myst = 10;

在这里,我需要分配一个属性,所以问题是Int32如何直接向结构对象分配值?

如果我正确理解了您(并且我不知道是否可以)。 隐式分配给Custom Type ,您将需要实现一个隐式运算符

隐式运算符(C#参考)

隐式关键字用于声明隐式的用户定义类型转换运算符。 如果保证转换不会导致数据丢失,请使用它启用用户定义类型和另一类型之间的隐式转换。

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),它应该像int一样打印10,我该如何实现

它已经做到了

完整的演示在这里

神秘不是Int32。 您可以在这里做的一件事是,在struct中创建Int32变量并为其分配值。

 struct myst
    {
       public Int32 a { get; set; }
    }


 static void Main(string[] args)
        {     
            myst mySt = new myst();
            mySt.a = 10;
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM