我正在尝试对一组数字进行排序,这些数字是字符串,我希望它们按数字排序.
问题是我无法将数字转换为int.
这是代码:
string[] things= new string[] { "105", "101", "102", "103", "90" };
foreach (var thing in things.OrderBy(x => x))
{
Console.WriteLine(thing);
}
Run Code Online (Sandbox Code Playgroud)
输出:101,102,103,105,90
我想:90,101,102,103,105
编辑:输出不能是090,101,102 ......
更新了代码示例以说出"事物"而不是"尺寸".数组可以是这样的:
string[] things= new string[] { "paul", "bob", "lauren", "007", "90" };
Run Code Online (Sandbox Code Playgroud)
这意味着它需要按字母顺序和数字排序:
007,90,鲍勃,劳伦,保罗
我需要在a中对字符串进行排序ListBox,但它通过另一个组件绑定到视图模型DataContext.所以我不能直接在XAML中实例化视图模型,就像在这个例子中一样,它使用了ObjectDataProvider.
在我的XAML中:
<ListBox ItemsSource="{Binding CollectionOfStrings}" />
Run Code Online (Sandbox Code Playgroud)
在我的视图模型中:
public ObservableCollection<string> CollectionOfStrings
{
get { return collectionOfStrings; }
}
Run Code Online (Sandbox Code Playgroud)
在另一个组件中:
view.DataContext = new ViewModel();
Run Code Online (Sandbox Code Playgroud)
没有代码背后!所以使用纯XAML,我如何对ListBox中的项进行排序?同样,XAML不拥有视图模型的实例化.