我是C#的新手,所以不要因为我的愚蠢而责备我。 我正在研究一个应该随机化一个单词并给它长度的应用程序,例如你写一个单词“Line”,它会给你“iLen”。 目前我确信只有这部分有效:
private void lenght_Click(object sender, EventArgs e)
{
String word = textBox1.Text;
int x = word.Length;
MessageBox.Show(x.ToString());
}
private void randomize_Click(object sender, EventArgs e)
{
String word = textBox1.Text;
int x = word.Length;
}
我尝试了很多,但大部分时间只是崩溃了应用程序,所以此刻我 想知道Text.ToCharArray做了什么,我希望得到更多的支持。 所以我只需要一个方法,让你的字符串随机化它给你另一个字符串只有mashed / randomized字符。 现在我将问题留下5-7个小时以获得更多答案,我将对它们进行全面审查并给予工作代表。谢谢你的支持! 我已经阅读了你所有的评论但是我很抱歉,现在是时候检查一切了。
答案 0 :(得分:4)
Randomize
方法(来自another SO question):
public static T[] Randomize<T>(T[] source)
{
List<T> randomized = new List<T>();
List<T> original = new List<T>(source);
Random r = new Random();
for (int size = original.Count; size > 0; size--)
{
int index = r.Next(size);
randomized.Add(original[index]);
original[index] = original[size - 1];
}
return randomized.ToArray();
}
用法:
string text = "Line";
string randomized = new string(Randomize(text.ToCharArray()));
答案 1 :(得分:1)
Random rand = new Random();
var output = new string(input.OrderBy(x => rand.Next()).ToArray());