2012-09-10 44 views

回答

6

下產生各種文化的集合:

CultureInfo.GetCultures(CultureTypes.AllCultures) 

從那裏,而不是GetCultureInfo你可以這樣做:

.FirstOrDefault(c => c.Name == myCulture) 

不是AllCultures你可能要過濾掉SpecificCultures

+0

如果這是你一直都在做的事情,你甚至可以在「字典<,>」中找到所有文化。如:靜態只讀字典<字符串,CultureInfo> CultureDict = CultureInfo.GetCultures(CultureTypes.AllCultures).ToDictionary(c => c.Name);' –

+0

謝謝,我將此作爲答案 –

-3

我總是在我的項目中使用一個小助手。所有算術類型得到的TryParse方法

public static bool TryParseDouble(this string text, out double value) 
{ 
    return double.TryParse(text, NumberStyles.Any, 
          CultureInfo.InvariantCulture, out value); 
} 

的使用

double value; 
bool isStringOK = theString.TryParseDouble(out value); 
+1

那麼'double'與原始海報問的「CultureInfo」有什麼關係? –

+0

@UweKeim問題不明確。 –

-1

沒有與文化的對象沒有的TryParse。一種方法是按照建議瀏覽所有文化,尋找一個,另一種方法是使用簡單的嘗試解析:

try 
{ 
    // making sure the lang is a calture 
    System.Globalization.CultureInfo c = new System.Globalization.CultureInfo(lang); 
} 
catch 
{ 
    lang = Session["lang"].ToString(); 
} 
+0

你永遠不該做這樣的事情!改變'catch'爲'catch(CultureNotFoundException ex)'。 – Peter

相關問題