将MultiSelectList.SelectedValues强制转换为String []的最小代码

时间:2013-03-08 19:03:03

标签: linq asp.net-mvc-4 casting

这是否必须转换为字符串[]

string[] waterfrontoptions = Model.WaterfrontOptions.
    SelectedValues.Cast<String>() == null 
    ? Model.WaterfrontOptions.SelectedValues.Cast<String>().ToArray() : null;

我想要做的就是.Contains对.SelectedValues属性中的值进行包含

1 个答案:

答案 0 :(得分:1)

不,太多了。 SelectedValues.Cast<String>()永远不会为空。如果SelectedValues为null Cast将抛出异常。你可以这样做:

Model.WaterfrontOptions.SelectedValues.OfType<string>().Contains(xxxx);

过滤 SelectedValues中的字符串。如果您想转换为字符串:

Model.WaterfrontOptions.SelectedValues.Select(v => v.ToString()).Contains(xxxx);

我认为WaterfrontOptionsSelectedValues都不能null(因为您的原始代码有SelectedValues.Cast)。