C#多维数组解析
我有一个多维数组 调试器中的内容如下所示 阵列设置为C#多维数组解析,c#,arrays,c#-4.0,multidimensional-array,C#,Arrays,C# 4.0,Multidimensional Array,我有一个多维数组 调试器中的内容如下所示 阵列设置为 String[,] s = new String[6,4] 我基本上需要知道哪一行说不,但我在解析数组时遇到了困难。任何帮助都将不胜感激。您可以使用以下方法: var rowIndices = Enumerable.Range(0, s.GetLength(0)).Where(i => s[i, 2] == "No"); IEnumurable<int> GetRowNumbersThatSayNo(string[,]
String[,] s = new String[6,4]
我基本上需要知道哪一行说不,但我在解析数组时遇到了困难。任何帮助都将不胜感激。您可以使用以下方法:
var rowIndices = Enumerable.Range(0, s.GetLength(0)).Where(i => s[i, 2] == "No");
IEnumurable<int> GetRowNumbersThatSayNo(string[,] values)
{
for(int i=0;i<values.Length;i++)
if(values[i,2]=="No") yield return i;
}
IEnumurable GetRowNumbersThatSayNo(字符串[,]值)
{
对于(inti=0;iso
[TestMethod]
公开无效测试()
{
var text=新字符串[6,4]
{
{“A”、“B”、“C”、“是”},
{“A”、“B”、“C”、“是”},
{“A”、“B”、“C”、“是”},
{“A”、“B”、“C”、“是”},
{“A”,“B”,“Not”,“C”},
{“A”、“B”、“C”、“是”}
};
var rowWithNot=新列表();
用于(int行=0;行<6;行++)
for(int col=0;col<4;col++)
if(文本[行,列].包含(“非”))
{
rowWithNot.Add(行);
打破
}
foreach(行中的变量行WithNot)
{
for(int col=0;col<4;col++)
{
Console.WriteLine(文本[行,列]);
}
}
}
如果您需要“解析”,那么多域数组不是最好的数据结构。为什么它不是一个列表?
?您昨天得到的答案已经涵盖了可能的重复。您的示例数据显示了4行和4列,因此无法区分哪个数组维度表示行,哪个维度表示列。这看起来非常优雅,但行表示索引数组吗?这是一个可枚举序列。在末尾添加“.ToList()”以获取列表。
IEnumurable<int> GetRowNumbersThatSayNo(string[,] values)
{
for(int i=0;i<values.Length;i++)
if(values[i,2]=="No") yield return i;
}
[TestMethod]
public void test()
{
var text = new String[6, 4]
{
{"A", "B", "C", "Yes"},
{"A", "B", "C", "Yes"},
{"A", "B", "C", "Yes"},
{"A", "B", "C", "Yes"},
{"A", "B", "Not", "C"},
{"A", "B", "C", "Yes"}
};
var rowWithNot = new List<int>();
for (int row = 0; row < 6; row++)
for (int col = 0; col < 4; col++)
if (text[row, col].Contains("Not"))
{
rowWithNot.Add(row);
break;
}
foreach (var row in rowWithNot)
{
for (int col = 0; col < 4; col++)
{
Console.WriteLine(text[row, col]);
}
}
}