c# 生成指定位数的随机字符串(小写):
时间: 2024-02-07 21:04:06 浏览: 101
您可以使用以下代码在 C# 中生成指定位数的随机字符串(小写):
```csharp
public string GenerateRandomString(int length)
{
const string chars = "abcdefghijklmnopqrstuvwxyz";
var random = new Random();
var result = new string(
Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)])
.ToArray());
return result;
}
```
在这里,我们首先定义了一个字符串 `chars`,其中包含所有小写字母。然后使用 `Random` 类生成随机数,并使用 LINQ 方法 `Enumerable.Repeat` 和 `Select` 来选择随机字符并将它们连接到一起。最后,我们返回生成的随机字符串。您可以通过传递所需的长度参数来调用此方法,例如:
```csharp
string randomString = GenerateRandomString(10); // 生成10个字符的随机字符串
```
相关问题
C# 指定位数的字符串用*替代
在 C# 中,可以使用 `String.PadLeft` 方法和 `String.Replace` 方法来将指定位数的字符串用 `*` 替代。具体步骤如下:
1. 使用 `String.PadLeft` 方法将原字符串填充到指定的位数。
2. 使用 `String.Replace` 方法将填充后的字符串中的非 `*` 字符替换为 `*`。
下面是一个示例代码:
```c#
string myString = "123456789";
int maxLength = 8; // 指定的最大长度
string paddedString = myString.PadLeft(maxLength, '*'); // 将原字符串填充到指定的位数
string maskedString = paddedString.Replace(paddedString.Substring(0, paddedString.Length - maxLength), new string('*', maxLength)); // 将填充后的字符串中的非 * 字符替换为 *
Console.WriteLine(maskedString); // 输出 "****6789"
```
在上面的代码中,我们首先使用 `String.PadLeft` 方法将原字符串 "123456789" 填充到指定的最大长度 8,生成填充后的字符串 "123456789"。然后,我们使用 `String.Replace` 方法将填充后的字符串中的非 `*` 字符替换为 `*`,生成最终的字符串 "****6789"。需要注意的是,我们在第二个参数中使用了 `new string('*', maxLength)`,这样可以保证替换后的字符串仍然是指定的最大长度。
C# 生成随机字符串
以下是C#生成随机字符串的示例代码:
```csharp
public static string GenerateRandomString(int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var random = new Random(); return new string(Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)]).ToArray());
}
```
这个方法接受一个整数参数作为所需的字符串长度,并使用Random类生成随机字符。它使用了Linq的Enumerable.Repeat方法来重复字符集中的字符,然后使用Random.Next方法从字符集中选择随机字符。最后,使用string构造函数将字符数组转换为字符串并返回。
阅读全文