C# 如何创建2个多维字符串数组(删除空字符串)?
上面的代码是一个多维数组,它存储了一系列movie的关键字。有没有办法在不必在数组初始化中放置空白字符串的情况下实现这一点?C# 如何创建2个多维字符串数组(删除空字符串)?,c#,.net,multidimensional-array,C#,.net,Multidimensional Array,上面的代码是一个多维数组,它存储了一系列movie的关键字。有没有办法在不必在数组初始化中放置空白字符串的情况下实现这一点? 例如,您可以在上面的代码中看到,我必须把空白字符串“填充”数组。 您可以使用a代替。 var movieNext = new string[,] { { "superhero", "action", "waltdisney", "bat"}, {"superhero", "action", "marvel",""}, {"history", "
例如,您可以在上面的代码中看到,我必须把空白字符串“填充”数组。
您可以使用a代替。var movieNext = new string[,]
{
{ "superhero", "action", "waltdisney", "bat"},
{"superhero", "action", "marvel",""},
{"history", "action", "malay", "" },
{"malay", "novel", "", ""},
{"history", "bat", "", ""}
};
可以考虑C锯齿数组(尽管它们与多维数组不同)。
string[]movieNext={
新[]{“超级英雄”、“动作”、“华特迪士尼”、“蝙蝠”},
新[]{“超级英雄”、“动作”、“奇迹”},
};
如果要坚持使用多维数组,则必须单独初始化这些值。如果您没有为任何索引(i,j)提供任何字符串值,默认情况下它将为空。我建议永远不要使用二维数组。它们在API中几乎没有支持(您将很难找到一个接受二维数组作为参数的方法),并且不能转换为
IEnumerable
或类似的受良好支持的接口。因此,您实际上只能在最局部的作用域中使用它们
相反,我建议您使用可浇铸的东西来IEnumerable
。哦,另一个提示。退房具体来说,
要初始化字典或其Add方法采用多个参数的任何集合,请将每组参数括在大括号中,如以下示例所示
因此,以下措施将起作用:
string[][] movieNext = {
new [] { "superhero", "action", "waltdisney", "bat"},
new [] {"superhero", "action", "marvel"}, <and so on>
};
类程序
{
静态void Main(字符串[]参数)
{
var d=新的ManyList()
{
{“嗨”,“好”,“人”,“没有”,“其他”}
{“也许”、“某人”、“其他人”、“随便什么”}
};
Console.Read();
}
}
类ManyList:List
{
公共void Add(参数字符串[]strs)
{
Console.WriteLine(string.Join(“,”,strs));
}
}
这可能会帮助您稍微清理一下语法
string[][] movieNext = {
new [] { "superhero", "action", "waltdisney", "bat"},
new [] {"superhero", "action", "marvel"}, <and so on>
};
class Program
{
static void Main(string[] args)
{
var d = new ManyList()
{
{"Hi", "Good", "People", "None", "Other"}
{"Maybe", "Someone", "Else", "Whatever"}
};
Console.Read();
}
}
class ManyList : List<string>
{
public void Add(params string[] strs)
{
Console.WriteLine(string.Join(", ", strs));
}
}