private List<string> strList = new List<string>();
private void button1_Click(object sender, EventArgs e)
{
strList.Add(Fun());
for (int i = 0; i < strList.Count; i++)
{
MessageBox.Show(strList[i]);
}
}
/// <summary>
/// 使用递归判断是否存在集合中
/// </summary>
/// <returns></returns>
private string Fun()
{
string str = GetRandom();
if (!strList.Contains(str))
{
return str;
}
else
{
str = Fun();
return str;
}
}
/// <summary>
/// 获取4个随机字母
/// </summary>
/// <returns></returns>
private string GetRandom()
{
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int i = 0; i < 4; i++)
{
int n = r.Next(97, 123);
sb.Append((char)n);
}
return sb.ToString();
}
/// <summary>
/// 获取4个随机数字
/// </summary>
/// <returns></returns>
private string GetRandomNumber()
{
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int i = 0; i < 4; i++)
{
int n = r.Next(0, 10);
sb.Append(n);
}
return sb.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
strList.Add(Fun());
for (int i = 0; i < strList.Count; i++)
{
MessageBox.Show(strList[i]);
}
}
/// <summary>
/// 使用递归判断是否存在集合中
/// </summary>
/// <returns></returns>
private string Fun()
{
string str = GetRandom();
if (!strList.Contains(str))
{
return str;
}
else
{
str = Fun();
return str;
}
}
/// <summary>
/// 获取4个随机字母
/// </summary>
/// <returns></returns>
private string GetRandom()
{
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int i = 0; i < 4; i++)
{
int n = r.Next(97, 123);
sb.Append((char)n);
}
return sb.ToString();
}
/// <summary>
/// 获取4个随机数字
/// </summary>
/// <returns></returns>
private string GetRandomNumber()
{
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int i = 0; i < 4; i++)
{
int n = r.Next(0, 10);
sb.Append(n);
}
return sb.ToString();
}
本文介绍了一种使用C#实现的生成随机字符串的方法,并通过递归确保生成的字符串不重复。该方法首先创建一个字符串列表用于存储已生成的字符串,然后定义了一个函数用于生成指定长度的随机字符串,最后通过递归检查新生成的字符串是否已经存在于列表中。

2051

被折叠的 条评论
为什么被折叠?



