c# 结构体 初始化

发布网友

我来回答

5个回答

热心网友

你直接使用new运算符就可以对数据成员初始化了。

注:带参构造函数必须初始化结构所有数据成员。所以如你所上的代码就做到了这点。现只需使用new运算符调用带参的构造函数来声明一个结构变量。

public struct Crossing
    {
        public Crossing(int i)
        {
            flow_in = new float[4];
            returning_ratio = new float[4, 3];
            tongxing = new float[4, 3];
        }
        public float[] flow_in;
        public float[,] returning_ratio;
        public float[,] tongxing;
    };
    
    class Program
    {
        static void Main(string[] args)
        {
            Crossing cro = new Crossing(0); // 调用带参的构造函数来初始化结构成员
            Console.WriteLine(cro.flow_in[0]); // 此时构造函数体所有数组初始化为0
            Console.ReadKey();
        }
    }

热心网友

数组要先new的
rc.szUserName=new UInt16[长度];
rc.szPassword=new UInt16[长度];
rc.szDomain=new UInt16[长度];
而且rc也是需要new的
RASCREDENTIALS rc=new RASCREDENTIALS();

热心网友

浮点型的默认就是0啊,难道你的不是?

热心网友

默认好像是0

热心网友

在构造函数里用for循环赋值嘛。。。追问怎么弄?我不太会,谢谢。

追答public Crossing()
{
flow_in=new float[4]{0,0,0,0};
}
试试,可以的话以此类推。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com