c#把“1,2,3”,这个字符串格式化成Guid[]
时间: 2024-03-24 16:39:30 浏览: 14
可以使用 `Split` 方法将字符串按照逗号分隔成一个字符串数组,然后使用 `Select` 方法将每个字符串转换成对应的 `Guid`,最后使用 `ToArray` 方法将结果转换成 `Guid[]` 类型。具体实现代码如下:
```csharp
string input = "1f86e43a-0c7d-4a2b-9a21-2e2f9b3c8d7d, 5bf5270c-8c57-4b4c-88b1-5c5a8a9734c8, d75c9d8d-2b88-4a4d-9d5a-d1c4a7d5c13f";
Guid[] output = input.Split(',').Select(Guid.Parse).ToArray();
```
在这个例子中,我们首先定义了一个字符串变量 `input`,其值为 "1f86e43a-0c7d-4a2b-9a21-2e2f9b3c8d7d, 5bf5270c-8c57-4b4c-88b1-5c5a8a9734c8, d75c9d8d-2b88-4a4d-9d5a-d1c4a7d5c13f"。然后我们使用 `Split` 方法将其按照逗号分隔成一个字符串数组。接着我们使用 `Select` 方法将每个字符串转换成对应的 `Guid` 类型。最后,我们使用 `ToArray` 方法将结果转换成 `Guid[]` 类型,并将结果赋值给 `output` 变量。
相关问题
c#把“1,2,3”,这个字符串格式化成Guid List
可以使用 `Split` 方法将字符串按照逗号分隔成一个字符串数组,然后使用 `Select` 方法将每个字符串转换成对应的 `Guid`,最后使用 `ToList` 方法将结果转换成 `List<Guid>` 类型。具体实现代码如下:
```csharp
string input = "1f86e43a-0c7d-4a2b-9a21-2e2f9b3c8d7d, 5bf5270c-8c57-4b4c-88b1-5c5a8a9734c8, d75c9d8d-2b88-4a4d-9d5a-d1c4a7d5c13f";
List<Guid> output = input.Split(',').Select(Guid.Parse).ToList();
```
在这个例子中,我们首先定义了一个字符串变量 `input`,其值为 "1f86e43a-0c7d-4a2b-9a21-2e2f9b3c8d7d, 5bf5270c-8c57-4b4c-88b1-5c5a8a9734c8, d75c9d8d-2b88-4a4d-9d5a-d1c4a7d5c13f"。然后我们使用 `Split` 方法将其按照逗号分隔成一个字符串数组。接着我们使用 `Select` 方法将每个字符串转换成对应的 `Guid` 类型。最后,我们使用 `ToList` 方法将结果转换成 `List<Guid>` 类型,并将结果赋值给 `output` 变量。
用C#,根据输入的字符串生成全局唯一的GUID。每个输入字符串对应的GUID必须是唯一的,而且每次运行程序时,相同的输入字符串必须生成相同的GUID。
可以使用System.Guid类来生成GUID,而根据输入字符串生成唯一的GUID可以使用MD5哈希算法。以下是C#代码实现:
```csharp
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main(string[] args)
{
string input = "your_input_string";
Guid guid = GenerateGuid(input);
Console.WriteLine(guid);
}
static Guid GenerateGuid(string input)
{
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);
Guid guid = new Guid(hashBytes);
return guid;
}
}
}
```
这段代码将输入字符串转换为字节数组,然后使用MD5哈希算法对字节数组进行哈希,最后将哈希值转换为GUID。因为MD5哈希算法的输出是固定长度的,所以每个输入字符串都会生成唯一的GUID。