Mar*_*ord 1 .net c# string distinct-values
我试图从逗号分隔的字符串中删除重复的值,并且结果不一致.例如,
如果我通过:
STA27,STA27,STA27B,STA27A,STA27B,
我明白了:
STA27,STA27,STA27B,STA27A,
或者,如果我通过:
STA24,STA24,STA24,STA24,
我明白了:
STA24,STA24,
我已经尝试了几种方法来最终摆脱逗号,但似乎没有任何工作.我不明白为什么Distinct也不起作用.我认为它与字符串终止的方式有关,但在第一个例子中,我得到前两个条目的重复,所以它似乎不是一个位置问题.
有什么想法吗?
public string FindDistinctBeats(String Beats)
// Accept comma-separated string, return distinct values
{
string result = string.Empty;
try
{
result = string.Join(",", Beats.Split(',').Distinct().ToArray());
result = result.TrimEnd(',');
if (String.IsNullOrEmpty(result))
{
return result;
}
else
{
return result.TrimEnd(result[result.Length - 1]);
}
}
catch (Exception e)
{
return e.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
一个简单的测试显示了预期的结果:
public class Distinct
{
private string input = "STA27,STA27,STA27B,STA27A,STA27B,";
[Test]
public void DistinctTest()
{
var distincts = input.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Distinct();
foreach(var entry in distincts)
{
Console.WriteLine(entry);
}
}
}
Run Code Online (Sandbox Code Playgroud)
产量
STA27
STA27B
STA27A
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |