C#锯齿状数组检查值是否存在/为true
本文关键字:存在 true 是否 锯齿状 数组 检查 | 更新日期: 2023-09-27 18:27:23
这是我的代码,我使用的是二维数组。
top = 0;
if(rowcol[i-1][j]){ top = rowcol[i-1][j] }
但它显示了这个错误:
无法将类型"string"隐式转换为"bool"
完整代码:
string[] fileData = File.ReadAllLines(@"C:'Users'apr13mpsip'Desktop'OneOrganizer'OneOrganizer'WordPuzzle'testing.txt");
string[] lineValues;
int row = 0;
int col;
string[][] rowcol = new string[fileData.Length][];
foreach (string line in fileData)
{
lineValues = line.Split(new string[] { "," }, StringSplitOptions.None);
rowcol[row] = new string[lineValues.Length];
col = 0;
foreach (string value in lineValues)
{
rowcol[row][col] = value;
col++;
}
row++;
}
for (int i = 0; i < rowcol.GetLength(0) ; i++)
{
for (int j = 0; j < rowcol[i].GetLength(0) ; j++)
{
int iadd = i+1 <rowcol.GetLength(0) ? i + 1: 0;
int iminus = i-1> 0 ? i - 1 : 0;
int jadd = j+1 <rowcol.GetLength(0) ? j + 1 : 0;
int jminus = j-1 > 0 ? j - 1 : 0;
var self = rowcol[i][j]; // current value
top = 0;
if(rowcol[iminus][j]){ top = rowcol[iminus][j] } // ERROR HERE
}
}
我实际上是在阅读一个文本文件,并通过在锯齿状数组中创建行和列10x10来从中创建一些东西。所以我可以通过rowcol[][]找到它们的价值。
因为
if(rowcol[i-1][j])
将根据您的定义返回string
string[][] rowcol
和if语句需要bool。你需要对照
if(rowcol[i-1][j] == "stringtotest")
只有布尔表达式可以用作if
条件,例如:
if (!string.IsNullOrEmpty(rowcol[i-1][j]))