【问题标题】:C# Jagged Array check if value exists/trueC#锯齿状数组检查值是否存在/真
【发布时间】:2013-08-14 20:07:31
【问题描述】:

这是我的代码,我使用的是二维数组。

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[][] 找到它们的值。

【问题讨论】:

    标签: c# jagged-arrays


    【解决方案1】:

    因为

    if(rowcol[i-1][j])
    

    将根据您的定义返回 string

    string[][] rowcol
    

    if 语句需要 bool。你需要检查它与类似的东西

    if(rowcol[i-1][j] == "stringtotest")
    

    【讨论】:

      【解决方案2】:

      只有布尔表达式可以作为if条件,例如:

      if (!string.IsNullOrEmpty(rowcol[i-1][j]))
      

      【讨论】:

      • 如果为空,如何返回 null
      • @user2376998,不确定我是否正确理解了您的问题。 string.IsNullOrEmpty 返回 true 如果测试中的字符串为 null 或空,否则返回 false。因此,如果您按原样使用上述条件,则仅当rowcol[i-1][j] 既不为空也不为空时才会分配top。这是你要找的吗?
      猜你喜欢
      • 2010-11-08
      • 2020-09-11
      • 2014-05-16
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多