C# “我如何解决?”;0“;值是否尝试获取长度值?
若我尝试向字符串长度的数组中添加int值,那个么整个数据都是“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
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”。对吗?