C# 生成随机16位长度的字符串,字符串中须包含大写字母、小写字母、数字、特殊符号
时间: 2023-12-04 13:04:52 浏览: 43
你可以使用以下代码生成随机16位长度的字符串:
```csharp
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=[]{}|;':\",./<>?";
var random = new Random();
var result = new string(
Enumerable.Repeat(chars, 16)
.Select(s => s[random.Next(s.Length)])
.ToArray());
Console.WriteLine(result);
}
}
```
这段代码使用了一个包含大写字母、小写字母、数字、特殊符号的字符集,然后使用 `Random` 类生成随机字符,最后使用 `Enumerable.Repeat` 方法将字符集重复16次,然后通过 `Select` 方法选择随机的字符,最终通过 `string` 类的构造函数将字符数组转换为字符串。
相关问题
c# 生成32位包含字母大写、小写和数字的随机字符串
你可以使用以下代码生成一个包含字母大写、小写和数字的随机字符串:
```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());
}
```
其中,`length` 参数指定字符串的长度,`chars` 字符串包含可用字符,`random` 对象用于生成随机数,`Enumerable.Repeat` 方法生成指定长度的字符序列,`Select` 方法从字符序列中随机选择字符,最后通过 `ToArray` 方法生成字符数组并通过 `new string` 方法转换为字符串返回。
用c#把一个字符串中所有出现的大写字母换成小写字母,同时把小写字母替换成大写字母。
你可以使用 C# 的内置函数 char.IsUpper 和 char.IsLower 检查字符是否为大写或小写字母,并使用 char.ToUpper 和 char.ToLower 将其转换为大写或小写字母。
下面是一段代码示例:
```csharp
string str = "Hello World";
char[] charArr = str.ToCharArray();
for (int i = 0; i < charArr.Length; i++)
{
if (char.IsUpper(charArr[i]))
{
charArr[i] = char.ToLower(charArr[i]);
}
else if (char.IsLower(charArr[i]))
{
charArr[i] = char.ToUpper(charArr[i]);
}
}
string result = new string(charArr);
Console.WriteLine(result);
```
这段代码将字符串中的大写字母转换为小写字母,小写字母转换为大写字母,并输出结果:"hELLO wORLD"。