Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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# %“.search.”在C中为%_C#_Sql_Search_Equals - Fatal编程技术网

C# %“.search.”在C中为%

C# %“.search.”在C中为%,c#,sql,search,equals,C#,Sql,Search,Equals,我使用此代码从DGV中选择一行 if (row.Cells[1].Value.ToString().Equals(searchValue)) { row.Selected = true; break; } 有类似的吗 %.$searchvalue.% 从sql到在C中使用,所以它会发现看似入口而不仅仅是入口?使用string.Contains而不是Equals if (row.Cells[1].Value.ToString().Contains(searchValue)) {

我使用此代码从DGV中选择一行

if (row.Cells[1].Value.ToString().Equals(searchValue))
{
    row.Selected = true;
    break;
}
有类似的吗

%.$searchvalue.%


从sql到在C中使用,所以它会发现看似入口而不仅仅是入口?

使用string.Contains而不是Equals

if (row.Cells[1].Value.ToString().Contains(searchValue))
{
    row.Selected = true;
    break;
}

如果您只想找到字符串的入口,可以使用StartsWith,如下所示

if (row.Cells[1].Value.ToString().StartsWith(searchValue))
{
    row.Selected = true;
    break;
}
if (row.Cells[1].Value.ToString().EndsWith(searchValue))
{
    row.Selected = true;
    break;
}

如果您只想找出字符串的结尾,可以使用下面的EndsWith

if (row.Cells[1].Value.ToString().StartsWith(searchValue))
{
    row.Selected = true;
    break;
}
if (row.Cells[1].Value.ToString().EndsWith(searchValue))
{
    row.Selected = true;
    break;
}
如果您不太担心性能,可以在上述情况下使用contains。

一般情况下,如果您想模拟类似sql的构造,可以尝试使用正则表达式:

就你而言

if (Like(row.Cells[1].Value.ToString(), searchValue)) { ... }

StartWith的可能副本将只查找第一个单词的第一个字符,还是查找任何单词的第一个字符?如果我使用contains,性能会有什么影响?它只查找第一个单词的第一个字符。Contains使用不同的算法,它需要计算比StartsWith或EndsWith更多的组合。因此,它用于不知道所需字符串匹配器所在位置的情况。如果您对需要搜索的内容非常确定,并且在开头或结尾都会出现,那么您可以使用这些。否则,Contains是一个不错的选择。如果你想检查每个单词的前几个字符,那么你需要按空格分割字符串,并在每个片段中循环检查它是否以匹配的字符串开始。非常感谢Gilad!!