如何从资源路径文件名中获取区域性名称

时间:2013-06-11 06:35:19

标签: c# string file path

拥有资源文件名ex:Employee.resx我必须在同一文件夹中获取包含其他文化的列表。所以我想这样:

private void GetExtraCultures(string resxFileDirectory, string neutralResxFileName)
        {
            string resxFullPath = resxFileDirectory + Path.DirectorySeparatorChar;
            string[] extraResxCulturesPath = Directory.GetFiles(resxFullPath, neutralResxFileName.Replace(".resx", "") + "*" + ".resx");
            List<string> extraResxCulturesList = new List<string>();

            foreach (string extraCulturePath in extraResxCulturesPath)
            {
                string currentFileName = Path.GetFileName(extraCulturePath);
                if (currentFileName != neutralResxFileName)
                {
                    string t = currentFileName.Substring(currentFileName.IndexOf(".") + 1);
                    string tt = t.Substring(0, t.IndexOf("."));

                    extraResxCulturesList.Add(tt);
                }
            }
        }

你有更轻的解决方案吗?我没有解决方案,例如如何从另一个字符串中获取字符串。我的意思是,除了使用substring方法之外,如何从此字符串en-US获取"Employee.en-US.resx"? 任何更轻/更好的解决方案非常赞赏。

1 个答案:

答案 0 :(得分:0)

我正在使用

string file = @"i18n\i18n.de-DE.resx";
string culture = Path.GetExtension(Path.GetFileNameWithoutExtension(file)).Substring(1);