我使用表单集合从控制器
中动态克隆的表单元素/值中检索值string[] vi = collection["VoteInfoCatId"].Split(char.Parse(","));
vi可以具有1,2或3的值我想要创建一个条件,我可以检查以确保在所有情况下vi应始终具有这3个不同的值而没有任何重复 我这样做是为了
Where vi[0]!=vi[1] && vi[0]!=vi[2] && vi[1]!=vi[2]
有更好的方法吗?
答案 0 :(得分:1)
这取决于你如何处理你的“有重复值”的情况,在任何一种情况下,LINQ都是你的朋友。
如果要检测重复项并对其执行操作,可以按字符串的唯一值进行分组,并查看是否有任何计数超过1.例如:
if (vi.GroupBy(m => m).Any(m => m.Count() != 1)) {
// Has duplicates
}
如果您只想删除重复项,则可以执行以下操作:
var distinctVi = vi.Distinct();
作为旁注,您对char.Parse(string)
的来电是多余的,您应该直接使用char
。请注意,"
(双引号)是string
,而'
(单引号)是char
,因此以下内容可行:
var vi = collection["VoteInfoCatId"].Split(',');