这样可以吗? string[] strs ={ "uionhy", "dfagr", "vnycry", "tscer" }; Array.Sort(strs); ArrayList list = new ArrayList(); for (int i = 0; i < strs.Length; i++) { if (!list.Contains(strs[i])) { list.Add(strs[i]); Console.WriteLine(strs[i]); } }
回2楼不区分大小写,输出一个字符串如测试字符串是"dc","ba",输出结果就是"abcd"
要求按照字母表中的顺序输出,重复的字母只取一次 "abc"=="aABbCC"?
采用ASCII识别字符数组排序试下!
using System; using System.Collections.Generic;class Test { static void Main() { string[] ss = { "uionhy","dfagr","vnycry","TsCeR" }; List<char> lc = new List<char>(26); foreach (string s in ss) { foreach (char c in s.ToLower()) { if (!lc.Contains(c)) { lc.Add(c); } } } lc.Sort(); foreach (char c in lc) { Console.Write(c); } } }/* 程序输出: acdefghinorstuvy */
string[] v = new string[] { "abc", "edf", "afg" }; string temp = string.Empty; foreach (string code in v) { temp = temp + "" + code; } char[] chars = System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(temp)); if (chars != null) { List<string> list = new List<string>(); list.Add(chars[0] + ""); for (int i = 0; i < chars.Length; i++) { if (!list.Contains(chars[i] + "")) list.Add(chars[i] + ""); } list.Sort(); }笨方法,测试下,理论应该可以。嘿嘿。
using System; using System.Text; using System.Collections.Generic;class Test { static string Some(string[] ss) { bool[] bs = new bool[26]; foreach (string s in ss) { foreach (char c in s.ToLower()) { bs[(int)(c-'a')] = true; } } StringBuilder sb = new StringBuilder(bs.Length); for (int i = 0; i < bs.Length; i++) { if (bs[i]) sb.Append((char)(i+(int)'a')); } return sb.ToString(); }
string[] strs ={ "uionhy", "dfagr", "vnycry", "tscer" };
Array.Sort(strs); ArrayList list = new ArrayList();
for (int i = 0; i < strs.Length; i++)
{
if (!list.Contains(strs[i]))
{
list.Add(strs[i]);
Console.WriteLine(strs[i]);
}
}
"abc"=="aABbCC"?
using System.Collections.Generic;class Test
{
static void Main()
{
string[] ss = { "uionhy","dfagr","vnycry","TsCeR" };
List<char> lc = new List<char>(26);
foreach (string s in ss)
{
foreach (char c in s.ToLower())
{
if (!lc.Contains(c))
{
lc.Add(c);
}
}
}
lc.Sort();
foreach (char c in lc)
{
Console.Write(c);
}
}
}/*
程序输出:
acdefghinorstuvy
*/
string temp = string.Empty;
foreach (string code in v)
{
temp = temp + "" + code;
} char[] chars = System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(temp)); if (chars != null)
{
List<string> list = new List<string>();
list.Add(chars[0] + "");
for (int i = 0; i < chars.Length; i++)
{
if (!list.Contains(chars[i] + ""))
list.Add(chars[i] + "");
}
list.Sort();
}笨方法,测试下,理论应该可以。嘿嘿。
using System.Text;
using System.Collections.Generic;class Test
{
static string Some(string[] ss)
{
bool[] bs = new bool[26];
foreach (string s in ss)
{
foreach (char c in s.ToLower())
{
bs[(int)(c-'a')] = true;
}
}
StringBuilder sb = new StringBuilder(bs.Length);
for (int i = 0; i < bs.Length; i++)
{
if (bs[i])
sb.Append((char)(i+(int)'a'));
}
return sb.ToString();
}
static void Main()
{
string s = Some(new string[]{ "uionhy","dfagr","vnycry","TsCeR" });
Console.WriteLine(s);
}
}/*
程序输出:
acdefghinorstuvy
*/