我在我的 asp.net mvc Web 应用程序中有以下方法,以检查 IP 地址是否已经存在:-
public bool ISTMSIPUnique(string ip, int? id=0)
{
var technology = FindTechnology(id.Value);
var result = tms.TechnologyIPs.Where(a.IPAddress.ToUpper() == ip.ToUpper());
return (result.Count() == 0);
}
但我注意到a.IPAddress.ToUpper() == ip.ToUpper()
将执行以下操作:-
- 它将假设“test”和“test”是相同的。(它将忽略字符末尾的空格)。
- 但是会假设“test”和“test”,左边和右边的空格是两个不同的字符串。
那么这背后的规律是什么?在将字符串保存到 SQL 服务器数据库之前,我是否应该总是修剪()字符串以克服这个问题,因为 IP 地址不能包含空格?