注意事项:
1.报错返回11111111-1111-1111-1111-111111111111
2.using 命名空间才可以使用扩展方法
3.扩展方法不能和原有的方法同名,否则不会执行扩展方法。
以下代码是string的扩展方法,可以直接在控制台程序输出
using System.Collections.Generic;
public static class Test
{
public static Guid ToGuid(this String str)//String的扩展方法
{
try
{
if (string.IsNullOrEmpty(str))
{
return Guid.Empty;
}
else
{
string data = str.ToString();
if (!data.Contains("-"))
{
data = data.Substring(6, 2) + data.Substring(4, 2) + data.Substring(2, 2) + data.Substring(0, 2) + data.Substring(10, 2) + data.Substring(8, 2) + data.Substring(14, 2) + data.Substring(12, 2) + data.Substring(16);
}
return new Guid(data);
}
}
catch
{
return new Guid("11111111-1111-1111-1111-111111111111");
}
}
public static List<Guid> ToGuidList(this List<string> str)//String的扩展方法
{
List<Guid> result = new List<Guid>();
if (str.Count==0)
{
result.Add(Guid.Empty);
}
else
{
foreach (var item in str)
{
result.Add(item.ToGuid());
}
}
return result;
}
}
class test
{
static int Main(string[] args)
{
List<string> ss = new List<string>();
ss.Add("3A0D13A3F7C0C10B2FB2A330AEDB20BF");
ss.Add("3A0D13A3F7C0C10B2FB2A330AEB10B00");
ss.Add("3A0D13A3F7C0C10B2FB2A330AEDB50BA");
var a = "3A0D13A3F7C0C10B2FB2A330AEDB20B0".ToGuid();
var b = ss.ToGuidList();
Console.WriteLine(a);
return 0;
}
}