%".search."% 在 C# 中
%".search."% in C#
我有此代码 select 来自 DGV 的一行。
if (row.Cells[1].Value.ToString().Equals(searchValue))
{
row.Selected = true;
break;
}
有没有类似的
%".$searchvalue."%
从sql改用在C#中,所以会发现貌似入口不只有一个?
使用string.Contains代替等于
if (row.Cells[1].Value.ToString().Contains(searchValue))
{
row.Selected = true;
break;
}
如果您只想找出字符串的 entrances
,您可以使用 StartsWith
,如下所示。
if (row.Cells[1].Value.ToString().StartsWith(searchValue))
{
row.Selected = true;
break;
}
如果您只想找出字符串的 endings
,您可以使用 EndsWith
,如下所示。
if (row.Cells[1].Value.ToString().EndsWith(searchValue))
{
row.Selected = true;
break;
}
如果你对性能不是很在意的话,以上情况可以使用contains
在一般情况下,如果你想模仿 sql LIKE
构造你可以尝试正则表达式:
public static bool Like(String value, String like) {
if (String.IsNullOrEmpty(like) || String.IsNullOrEmpty(value))
return false; // or throw exception
String pattern = "^" + Regex.Escape(like).Replace("%", ".*").Replace("_", ".") + "$";
return Regex.IsMatch(value, pattern);
}
.....
String source = "abcdef";
// true
bool result = Like(source, "%b_d%");
你的情况
if (Like(row.Cells[1].Value.ToString(), searchValue)) { ... }
我有此代码 select 来自 DGV 的一行。
if (row.Cells[1].Value.ToString().Equals(searchValue))
{
row.Selected = true;
break;
}
有没有类似的
%".$searchvalue."%
从sql改用在C#中,所以会发现貌似入口不只有一个?
使用string.Contains代替等于
if (row.Cells[1].Value.ToString().Contains(searchValue))
{
row.Selected = true;
break;
}
如果您只想找出字符串的 entrances
,您可以使用 StartsWith
,如下所示。
if (row.Cells[1].Value.ToString().StartsWith(searchValue))
{
row.Selected = true;
break;
}
如果您只想找出字符串的 endings
,您可以使用 EndsWith
,如下所示。
if (row.Cells[1].Value.ToString().EndsWith(searchValue))
{
row.Selected = true;
break;
}
如果你对性能不是很在意的话,以上情况可以使用contains
在一般情况下,如果你想模仿 sql LIKE
构造你可以尝试正则表达式:
public static bool Like(String value, String like) {
if (String.IsNullOrEmpty(like) || String.IsNullOrEmpty(value))
return false; // or throw exception
String pattern = "^" + Regex.Escape(like).Replace("%", ".*").Replace("_", ".") + "$";
return Regex.IsMatch(value, pattern);
}
.....
String source = "abcdef";
// true
bool result = Like(source, "%b_d%");
你的情况
if (Like(row.Cells[1].Value.ToString(), searchValue)) { ... }