字符串包含很多副本,如何摆脱它们?

Ste*_*fan -3 .net c# string copy

我有这样的事情:

string s="Solid;Solid;Gass;Solid;Solid;Gass;Solid;Gass;Liquid;Liquid;"  
Run Code Online (Sandbox Code Playgroud)

现在我想摆脱字符串中的副本......所以最后s应该是这样的:

s="Solid;Gass;Liquid;"
Run Code Online (Sandbox Code Playgroud)

Kon*_*man 6

试试这个:

var parts = s.Split(';');
var distinctParts = parts.Distinct();
var newString = string.Join(";", distinctParts);
Run Code Online (Sandbox Code Playgroud)

哪里:

  • Split将为您提供一个包含字符串所有单词的数组,将指定的字符作为单词分隔符(;在本例中).
  • Distinct将为您的集合提供阵列中的独特单词.
  • 最后,Join使用指定的字符串(;在本例中)作为分隔符,使用唯一的单词组成一个新字符串.

  • 不要转储代码.解释这是做什么的. (2认同)