gpt4 book ai didi

c# - DataTable.Select 字符串/整数比较

转载 作者:行者123 更新时间:2023-11-30 13:01:35 34 4
gpt4 key购买 nike

我疯狂地发现我的网格没有正确显示的原因,并发现我比较了一个 varchar 列(只有数值)而不使用 '(引号)。问题是对于某些数字,选择匹配而对于其他选择不匹配。

这是一个例子:

DataTable tab = new DataTable();
tab.Columns.Add("age", typeof(String));
DataRow row1 = tab.NewRow();
row1["age"] = "8";
tab.Rows.Add(row1);
DataRow row2 = tab.NewRow();
row2["age"] = "15";
tab.Rows.Add(row2);

Console.WriteLine("Rows with age 8="+ tab.Select("age=8").Length);
Console.WriteLine("Rows with age 15=" + tab.Select("age=15").Length);

输出是:

Rows with age 8=0
Rows with age 15=1

为什么 8 个数字不匹配而 15 个数字匹配?这是错误吗?

最佳答案

似乎是内部字符串/整数比较中的错误(功能?)。您必须添加单引号以将数据作为字符串进行比较,或者如果您需要将它们作为整数进行比较并且您愿意使用 LINQ,则可以执行类似

int i = tab.AsEnumerable().Where(x => Convert.ToInt32(x["age"]) == 8).Count(); // 1

关于c# - DataTable.Select 字符串/整数比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537119/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com