如何在c#中获取不同的字符
我有一个代码
String code="AABBDDCCRRFF";
在这段代码中,我想只检索不同的字符
输出应该像:
ANS: ABDCRF
string code = "AABBDDCCRRFF"; string answer = new String(code.Distinct().ToArray());
Linq的Distinct返回序列中的不同元素。 当String
类实现IEnumerable
,此上下文中的Distinct
返回包含字符串中所有唯一字符的IEnumerable
。
code.Distinct();
这是一种提供字符串和不同字符数的方法……
using System; using System.Collections.Generic; namespace StringDict { class Program { static IDictionary charDict =new Dictionary(); static private string _charStr = "s;ldfjgsl;dkkjfg;lsdkfjg;lsdkfjg;lsdkfjg;lsdkfj"; private static int _outInt=0; static void Main(string[] args) { foreach (var ch in _charStr) { if (!charDict.TryGetValue(ch,out _outInt)) { charDict.Add(new KeyValuePair(ch,1)); } else { charDict[ch]++; } } Console.Write("Unique Characters: "); Console.WriteLine('n'); foreach (var kvp in charDict) { Console.Write(kvp.Key); } Console.WriteLine('n'); foreach (var kvp in charDict) { Console.WriteLine("Char: "+kvp.Key+" Count: "+kvp.Value); } Console.ReadLine(); } } }
输出…
Unique Characters: s;ldfjgk Char: s Count: 6 Char: ; Count: 6 Char: l Count: 6 Char: d Count: 6 Char: f Count: 6 Char: j Count: 6 Char: g Count: 5 Char: k Count: 6
使用dotNet 2.0兼容代码的替代选项:
public string RemoveDuplicateChars(string input) { var stringBuilder = new StringBuilder(input); foreach (char c in input) { stringBuilder.Replace(c.ToString(), string.Empty) .Append(c.ToString()); } return stringBuilder.ToString(); }
在linq怎么样:
var str = "AABBCCDDDDDDEEEEEFFF"; var unique = str.ToCharArray().Distinct(); Console.WriteLine("Answer: {0}.", string.Join(string.Empty, unique));
您可以按如下方式执行此操作
var s = "AABBDDCCRRFF"; var result = s.Distinct(); var distinct = result.Aggregate(string.Empty, (current, c) => current + c.ToString()); Console.WriteLine(distinct);
只是为了它的地狱 – 使用StringBuilder
上述就是C#学习教程:如何在c#中获取不同的字符分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
string code = "AABBDDCCRRFF"; StringBuilder sb = new StringBuilder(); code.Distinct().ToList().ForEach(c => sb.Append(c)); MessageBox.Show(sb.ToString());
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1044404.html