Lea*_*ner 1 c# boolean case-sensitive
我有一个布尔函数,它检查数据库中的名称,如果数据库中存在任何返回true的名称.我的功能是
public bool rawMtrlExists(string strRawMtrl)
{
var rwMtrl = prodctsDC.productsnrwmtrls.Where(c => c.item_Ctgry == 'R' || c.item_Ctgry == 'B'||c.item_Ctgry=='G').Distinct().ToArray();
return rwMtrl.Count(d => d.item_Name == strRwMtrl) > 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是..如果我的strRawMtrl orgument具有相同的单词但具有casesensitive,则该方法返回false.我的意思是数据库字段中的名称是中央处理单元.我作为中央处理单位通过.在这种情况下它返回false但我需要true.请有人帮我回复,不要用于区分大小写的单词.
您可以使用重载Equals
方法StringComparison.OrdinalIgnoreCase
:
d.item_Name.Equals(strRwMtrl, StringComparison.OrdinalIgnoreCase)
Run Code Online (Sandbox Code Playgroud)
另一种我不喜欢的hacky方式,因为它在堆中创建了两个以上的字符串:
d.item_Name.ToLower() == strRwMtrl.ToLower()
Run Code Online (Sandbox Code Playgroud)