Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “我如何解决?”;0“;值是否尝试获取长度值?_C#_.net_Visual Studio_Visual Studio 2008 - Fatal编程技术网

C# “我如何解决?”;0“;值是否尝试获取长度值?

C# “我如何解决?”;0“;值是否尝试获取长度值?,c#,.net,visual-studio,visual-studio-2008,C#,.net,Visual Studio,Visual Studio 2008,若我尝试向字符串长度的数组中添加int值,那个么整个数据都是“0”,为什么?如何解决呢 for (int j = 0; j < dTable.Columns.Count; j++) for (int i = 0; i < dTable.Rows.Count; i++) { mycounter[i] = dTable.Rows[i][j].ToString().Length

若我尝试向字符串长度的数组中添加int值,那个么整个数据都是“0”,为什么?如何解决呢

  for (int j = 0; j < dTable.Columns.Count; j++)
                for (int i = 0; i < dTable.Rows.Count; i++)
                {

                    mycounter[i] = dTable.Rows[i][j].ToString().Length;
                }
for(int j=0;j
它与mycounter无关,因为:

  string test = "";
           foreach(DataColumn dc in dTable.Columns)
                for (int i = 0; i < dTable.Rows.Count; i++)
                {
                   // MessageBox.Show(dTable.Rows[i][dc].ToString());
                    test = dTable.Rows[i][dc].ToString().Length.ToString();
                }
string test=”“;
foreach(dTable.Columns中的数据列dc)
for(int i=0;i}
在mycounter[]中,只有表的最后一列中的值。
是否最后一列包含空字符串?

除非您在for循环之间重新声明mycounter,否则您将在最后一列之前覆盖每列0到Columns.Count-1的mycounter[i]


你想把长度加起来吗?或者您是否希望mycounter使用一个二维数组?

除了@Orsol所说的,您在两个维度之间循环的事实似乎表明您需要每行的总长度,因此

mycounter[i] = dTable.Rows[i][j].ToString().Length; 
应改为

mycounter[i] += dTable.Rows[i][j].ToString().Length; 

ToString()
方法也可能返回空字符串。也许你正在寻找一个
Text
属性?

对于一个有更多C#经验的人来说,这可能是显而易见的……但我的第一个想法是:
dTable
mycounter
的数据类型是什么?你提供的问题信息越多,人们就越能帮助你。mycounter必须是IEnumerable的后代,比如列表。我甚至不知道你的更新意味着什么。您将test设置为最后一行的最后一列,然后?什么样的数据存储在DataTable中?所以在您的更新中,您的意思是:当我检查测试时,值总是“0”。对吗?