2017-04-02 91 views
0

是否有任何可能从GUID中提取数字?我试图做到这一点,因为我不想在表单中显示GUID,但其中的数字也是唯一的。从GUID中提取数字

+1

发布样本GUID和输出 – Sajeetharan

+0

GUID。 NewGuid()。ToString(“N”)会给你一些想法 – Valkyrie

+0

@Sajeetharan 这是GUID - D364800B-D75E-456A-90F7-12A2751350BF 我想提取 - 36480075456907122571350 – cdrrrrr

回答

0
public string GetNumbersFromGuid(Guid Item) 
{ 
    var result = string.Empty; 

    var guidArray = Item.ToString().ToCharArray(); 

    int n; 
    foreach (var item in guidArray) 
    { 
     if (int.TryParse(item.ToString(), out n) == true) 
     { 
      result += item.ToString(); 
     } 
    } 

    return result; 
} 

这样称呼它:

var MyValue = GetNumbersFromGuid(Guid.NewGuid()); 
1

您可以使用ISDIGIT只拿到号码

var guidstring = Guid.NewGuid().ToString("N"); 
    var getNumbers = (from t in guidstring 
           where char.IsDigit(t) 
           select t).ToArray(); 

DEMO

+0

谢谢,那工作。但是,如何实现它到SQL Server?你有什么想法吗?抽象c#。 – cdrrrrr

+0

@cdrrrr检查这个问题http://stackoverflow.com/questions/16667251/query-to-get-only-numbers-from-a-string – Sajeetharan