属性中的c#列表是数组
这是我的属性类:属性中的c#列表是数组,c#,C#,这是我的属性类: class Actions { public string[] Style { get; set; } } 这是我的主要方法: Actions action = new Actions(); List<string> list = new List<string>(); list.Add("one"); list.Add("two"); foreach (var item in list) { for (int i = 0;
class Actions
{
public string[] Style { get; set; }
}
这是我的主要方法:
Actions action = new Actions();
List<string> list = new List<string>();
list.Add("one");
list.Add("two");
foreach (var item in list)
{
for (int i = 0; i < action.Style.Length; i++)
{
action.Style[i] = item.ToString();
Console.WriteLine(action.Style[i]);
}
}
Actions动作=新动作();
列表=新列表();
列表。添加(“一”);
列表。添加(“两个”);
foreach(列表中的变量项)
{
for(int i=0;i
如何使用列表项填充属性
这给了我一个例外:“对象引用未设置为对象的实例”。无需逐个添加项目,您可以使用列表中的
ToArray()
方法,如下所示:
List<string> list = new List<string>();
list.Add("one");
list.Add("two");
Actions action = new Actions {
Style = list.ToArray()
};
List List=新列表();
列表。添加(“一”);
列表。添加(“两个”);
动作动作=新动作{
Style=list.ToArray()
};
必须创建样式
属性的实例
List<string> list = new List<string>();
list.Add("one");
list.Add("two");
Actions action = new Actions();
action.Style=new string[list.Count];
foreach (var item in list)
{
for (int i = 0; i < action.Style.Length; i++)
{
action.Style[i] = item.ToString();
Console.WriteLine(action.Style[i]);
}
}
List List=新列表();
列表。添加(“一”);
列表。添加(“两个”);
动作动作=新动作();
action.Style=新字符串[list.Count];
foreach(列表中的变量项)
{
for(int i=0;i
正如已经指出的那样,Style
始终为空,因为您共享了代码@埃尔德尼兹和保罗有着不同的解决方法。显然,您的示例代码只是一个示例片段,因此,如果前两个原因不起作用,这里有2个其他选项(我只是免费处理,请原谅任何输入错误)。
1) 您可以让操作
类始终返回非空对象
class Actions
{
private string[] _style;
public string[] Style
{
get { return _style ?? new string[0]; }
set { _style = value; }
}
}
请注意,这将允许您始终按照请求查看style属性的输出,假设空数组和null是相同的
2) 可以使循环容忍空值
foreach (var item in list)
{
for (int i = 0; i < action?.Style.Length ?? 0; i++)
{
action.Style[i] = item.ToString();
Console.WriteLine(action.Style[i]);
}
}
foreach(列表中的变量项)
{
for(int i=0;i
最后,作为提示,如果您附加了调试器,并且正在单步执行代码,VisualStudio将帮助您非常容易地查明这些错误。花点时间与调试器成为朋友。如果它给你一个错误,你不明白,做一个快速的网络搜索。您未来的自我将感谢您。
样式
尚未实例化。不确定Actions是否是最适合您的类的名称。这应该是一个单数字。很明显,行为是不允许的,所以你可能想做一些更具描述性的事情。也许我错了,但是第二个列表项会覆盖你风格的内容。。。这是有意的吗?迭代数组,但这个数组的大小是多少?代码看起来很混乱。如何查看Style属性的输出可能存在重复?取决于原始问题是否是“如何使用列表项填充属性?”问题是Style
没有instantiated@Alex如何查看样式属性的输出?