Unity c#排序1和11
时间: 2024-02-27 11:53:40 浏览: 69
在 Unity 中,如果您要对包含数字的字符串进行排序,可以使用 `System.Linq` 命名空间中的 `OrderBy` 方法,然后使用自定义比较器来实现按数字排序。以下是一个示例代码:
```csharp
using System.Linq;
public class NumericComparer : IComparer<string>
{
public int Compare(string x, string y)
{
int num1, num2;
bool xIsNumeric = int.TryParse(x, out num1);
bool yIsNumeric = int.TryParse(y, out num2);
if (xIsNumeric && yIsNumeric)
{
return num1.CompareTo(num2);
}
else if (xIsNumeric)
{
return -1;
}
else if (yIsNumeric)
{
return 1;
}
else
{
return x.CompareTo(y);
}
}
}
// Usage example
string[] strings = { "1", "2", "11", "3", "5", "22" };
var sortedStrings = strings.OrderBy(s => s, new NumericComparer());
```
在上面的示例中,我们使用 `NumericComparer` 类实现了自定义比较器,然后将其作为第二个参数传递给 `OrderBy` 方法。这将按数字顺序对字符串数组进行排序。
阅读全文