string test = "asdf";
IEnumerable<char> str = test.ToArray().Distinct();
string[] strArray = str.Select(x => x.ToString()).ToArray();
我需要将其转换为Enumerable,然后我可以将其转换为字符串[]。
您是否知道如何在不使用IEnumerable的情况下基于变量测试将其变为string []的更好的解决方案?
上面的当前代码是绕道而行,我想知道是否可以通过快捷方式使其更好?
答案 0 :(得分:1)
你可以这样做:
string[] strArry = test.Distinct().Select(x=> x.ToString()).ToArray();
无需在第一行调用ToArray
,因为字符串已经是IEnumerable<char>
。
您是否知道如何使其成为基于字符串[]的更好的解决方案 在不使用IEnumerable的变量测试中?
当您使用Distinct
时,它会返回IEnumerable<T>
,我不确定您通过避免IEnumerable<T>
到底意味着什么,但您也可以遍历字符串中的字符并将其转换为字符串,不使用LINQ。