gpt4 book ai didi

c# - 条件或在比较两个字符串时从不工作

转载 作者:行者123 更新时间:2023-11-30 18:49:01 25 4
gpt4 key购买 nike

我有一个包含一些基本地址信息的数据表。我正在尝试删除纽约或宾夕法尼亚以外的所有州。

所以,这工作正常:

foreach (DataRow row in uwDataTable.Rows)
{
if (row[15].ToString() != "New York" || )
{
rowsToDelete.Add(row);
}
}

但是,这会删除每一行:

foreach (DataRow row in uwDataTable.Rows)
{
if (row[15].ToString() != "New York" || row[15].ToString() != "Pennsylvania")
{
rowsToDelete.Add(row);
}
}

这看起来很简单,但无论出于何种原因,“不等于”的含义太多了。

最佳答案

原因

row[15].ToString() != "New York" || row[15].ToString() != "Pennsylvania"

删除每一行是因为 row[15].ToString() 不能同时等于两个不同的字符串,因此至少两个“不等于”中的一个将计算为true,使整个 OR 的计算结果也为 true

在那种情况下,您正在寻找 &&,而不是 ||:

row[15].ToString() != "New York" && row[15].ToString() != "Pennsylvania"

只有当两个“不等于”的计算结果都为 true 时,这一个才会为 true,即该州不是纽约州,也不是宾夕法尼亚州。

关于c# - 条件或在比较两个字符串时从不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18663723/

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