C# 对最后一个字段中的空值进行排序
我想对最后一个上的C# 对最后一个字段中的空值进行排序,c#,sorting,C#,Sorting,我想对最后一个上的null值进行排序 第一个错误发生在SortInteger函数中的S1=“”或S2=“”时。 其次,我想对null值进行排序以结束 ID可以包含null值 private int SortInteger(string s1, string s2, string sortDirection) { int i1 = int.Parse(s1); int i2 = int.Parse(s2); return sortDirection == "asc" ? i
null
值进行排序
第一个错误发生在SortInteger
函数中的S1=“”
或S2=“”
时。
其次,我想对null
值进行排序以结束
ID可以包含null
值
private int SortInteger(string s1, string s2, string sortDirection)
{
int i1 = int.Parse(s1);
int i2 = int.Parse(s2);
return sortDirection == "asc" ? i1.CompareTo(i2) : i2.CompareTo(i1);
}
第一个错误发生在SortInteger
函数中的S1=“”
或S2=“”
时。
第二,我想分类<代码> null <代码>值结束。 您必须考虑<强> 4 :
s1
和s2
都是有效整数s1
是有效的整数s2
是有效的整数s1
和s2
都不是有效整数string
不一定是有效的int
,请尝试int.TryParse
而不是int.Parse
代码:
private static int SortInteger(string s1, string s2, string sortDirection)
{
int i1 = 0;
int i2 = 0;
bool isInt1 = int.TryParse(s1, out i1);
bool isInt2 = int.TryParse(s2, out i2);
if (isInt1 && isInt2)
return sortDirection == "asc" ? i1.CompareTo(i2) : i2.CompareTo(i1);
else if (isInt1)
return sortDirection == "asc" ? -1 : 1;
else if (isInt2)
return sortDirection == "asc" ? 1 : -1;
else
return sortDirection == "asc" ? string.Compare(s1, s2) : string.Compare(s2, s1);
}
private static int SortInteger(string s1, string s2, string sortDirection)
{
int i1 = 0;
int i2 = 0;
bool isInt1 = int.TryParse(s1, out i1);
bool isInt2 = int.TryParse(s2, out i2);
if (isInt1 && isInt2)
return sortDirection == "asc" ? i1.CompareTo(i2) : i2.CompareTo(i1);
else if (isInt1)
return sortDirection == "asc" ? -1 : 1;
else if (isInt2)
return sortDirection == "asc" ? 1 : -1;
else
return sortDirection == "asc" ? string.Compare(s1, s2) : string.Compare(s2, s1);
}