c#–随机生成字符串
在 C# 中,字符串是 Unicode 字符序列或字符数组。Unicode 字符的范围是从 U+0000 到 U+FFFF。字符串是文本的表示形式。在本文中,我们将学习如何随机生成字符串和字母数字字符串。因此,为了完成这项任务,我们使用了 Random 类,尽管它生成整数,但我们可以使用它们来创建随机字符串。Random 类提供了不同类型的方法来生成随机字符串。随机字符串通常用于验证码验证等。
示例:
Random String: ZDTXZFPYQEOUPGMEIYCEUSK
Random String: PSSR34YB
方法 1:使用 Next()方法
我们可以使用 Next() 方法生成一个随机字符串。此方法接受两个参数最小和最大范围,并在指定的最小和最大范围内返回一个正的随机整数。
语法:
公共虚拟 int Next(int mvvalue,int nvvalue);
这里,mValue 是生成的随机数的上界,nValue 是返回的随机数的下界。
进场:
1.创建随机类的对象
2.使用 Next()方法随机选择字符串的大小,并存储在 stringlength 变量中。
3.使用 for 循环重复以下字符串长度的步骤:
- 随机选择一个介于 0 和 25 之间的数字
- 随机数加 65,用转换成 char。方法
4.显示输出。
示例:
C
// C# program to generate random strings
using System;
class GFG{
static void Main()
{
// Creating object of random class
Random rand = new Random();
// Choosing the size of string
// Using Next() string
int stringlen = rand.Next(4, 10);
int randValue;
string str = "";
char letter;
for (int i = 0; i < stringlen; i++)
{
// Generating a random number.
randValue = rand.Next(0, 26);
// Generating random character by converting
// the random number into character.
letter = Convert.ToChar(randValue + 65);
// Appending the letter to string.
str = str + letter;
}
Console.Write("Random String:" + str);
}
}
输出:
Random String:UUYXBGA
说明:在上面的例子中,我们将生成一个 0 到 25 之间的随机数,并将其加到 65,然后它将成为字母表的 ASCII 值。ASCII 值使用 ToChar()方法转换为字符。整个步骤将使用 for 循环重复多次,并通过附加所有随机生成的字符形成一个字符串。
方法 2:
我们也可以使用这个方法生成随机字符串。在这个方法中,我们传递一个包含 26 个字母的字符串。然后从 26 个字母中,我们将随机选择一个字母,并将其附加到字符串中,通过重复这个过程,形成一个随机字符串。
进场:
- Initialize the string with letters, namely str = "ABC ……". xyz"
- Initialize an empty string and name it "ran".
- Select the size of the string to be generated.
- Now use the next () method to generate a random number, and select the character at the index in the alphabet string.
- Append the character to the random string.
- Repeat steps 4 and 5n, where n is the length of the string.
示例:
C
// C# program to generate random strings
using System;
class GFG{
public static void Main(string[] args)
{
Random res = new Random();
// String of alphabets
String str = "abcdefghijklmnopqrstuvwxyz";
int size = 10;
// Initializing the empty string
String ran = "";
for (int i = 0; i < size; i++)
{
// Selecting a index randomly
int x = res.Next(26);
// Appending the character at the
// index to the random string.
ran = ran + str[x];
}
Console.WriteLine("Random String:" + ran);
}
}
输出:
Random String:mphhzgvpjr
解释:在这个例子中,我们创建了一个 Random 类的对象。然后我们将 26 个字母存储在一个名为“str”的字符串中。现在我们创建一个名为“size”的整数类型的变量,它表示随机生成的字符串中存在的字符总数。现在我们创建一个名为“ran”的空字符串。然后,我们创建一个 for 循环,迭代到“i <大小”,在这个 for 循环中,我们使用 Next()方法。这个方法会生成小于 26 的随机数,所以我们使用这些数字作为位置指示器来获取该位置的字符。所以每次循环迭代时,我们都会得到一个随机字符。最后,我们将追加这些字符,得到一个随机字符串。
方法 3:生成字母数字字符串
字母数字字符串是那些既包含字母又包含数字的字符串。我们可以使用上述方法生成随机的字母数字字符串。
进场:
- Initialize a string with letters and numbers, namely str = "ABC ... XYZ 012 ... 789"
- Initialize an empty string and name it "Random String".
- Select the size of the string to be generated.
- Now use the next () method to generate a random number, and select the character at the index in the alphanumeric string.
- Append the character to the random string.
- Repeat steps 4 and 5n, where n is the length of the string.
示例:
C
// C# program to generate random alphanumeric strings
using System;
class GFG{
public static void Main(string[] args)
{
Random res = new Random();
// String that contain both alphabets and numbers
String str = "abcdefghijklmnopqrstuvwxyz0123456789";
int size = 8;
// Initializing the empty string
String randomstring = "";
for (int i = 0; i < size; i++)
{
// Selecting a index randomly
int x = res.Next(str.Length);
// Appending the character at the
// index to the random alphanumeric string.
randomstring = randomstring + str[x];
}
Console.WriteLine("Random alphanumeric String:" + randomstring);
}
}
输出:
Random alphanumeric String:v91d2p48
解释:在这个例子中,我们创建了一个 Random 类的对象。然后我们将字母和数字存储在一个名为“str”的字符串中。现在我们创建一个名为“size”的整型变量,它代表随机生成的字母数字字符串中的字符总数。现在我们创建一个名为“randomstring”的空字符串。然后,我们创建一个 for 循环,迭代到“i <大小”,在这个 for 循环中,我们使用 Next()方法。此方法生成小于字符串的随机数。长度,所以我们使用这些数字作为位置指示器,从那个位置获取字符。所以每次循环迭代时,我们都会得到一个随机字符。最后,我们将附加这些字符,得到一个随机的字母数字字符串。
版权属于:月萌API www.moonapi.com,转载请注明出处