c#定义结构体不能用?

2025-05-11 00:01:36
推荐回答(5个)
回答1:

结构体要实例化之后才能用 ,而且你用date作结构体名没提示错误?

回答2:

结构体 不能用static 修饰

虽然你的名字 相同,,但一个是数组 ,一个是结构体 ,根本无法赋值

回答3:

1、date结构体是在类xx里,在其它类里使用时,要加上“xx.”,如xx.date[] mymemory =new xx.date[10];,当然,你也可以不放在类里,这样就可以不用加“类名点”
2、
public static void writememory(date[] m,string na,string pa)
{
m.mname = na;
m.mpass = pa;
}
m是个数组,不能直接引用里面的字段,必须加上维数如:
if (m != null && m.Length > 0)
{
m[0].mname = na;
m[0].mpass = pa;
}
3、结构体里的变量默认不是public的,要在外面访问,要加上public ,如:

public struct date
{
public string mname;
public string mpass;
}

回答4:

m 是date[] 下面这么调用出问题了
m.mname = na;
m.mpass = pa;

修改成下面的
class xx
{
public struct date
{
public string mname;
public string mpass;
}
class memory
{
public static date[] creatmemory()
{
date[] mymemory = new date[10];
return mymemory;
}

public static void writememory(date[] m, string na, string pa)
{
for (var i = 0; i < m.Length; i++)
{
m[i].mname = na;
m[i].mpass = pa;
}
}
}
}

回答5:

struct貌似不能static,楼上看的真仔细,数组。。。,你是纯手写的代码么,怎么点的出来呀。。。