Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于CultureInfo命名文件的标准方式是什么?_C#_.net_Naming Conventions_Cultureinfo_Culture - Fatal编程技术网

C# 基于CultureInfo命名文件的标准方式是什么?

C# 基于CultureInfo命名文件的标准方式是什么?,c#,.net,naming-conventions,cultureinfo,culture,C#,.net,Naming Conventions,Cultureinfo,Culture,寻找我的标准的建议 我需要为不同的国家创建一个文件,并寻找最好的命名策略 我正在使用.NET4.5。例如,我需要创建一个包含俄文数据的文件,它是否应该命名 rus_myfile.txt [ThreeLetterISOLanguageName] ru_myfile.txt [TwoLetterISOLanguageName] 还是别的 基于.Net对象的命名约定有什么标准吗?此区域有任何问题吗?您可以遵循资源文件(.resx)的命名约定: 您可以遵循资源文件(.resx)的命名约定: 有关“.

寻找我的标准的建议

我需要为不同的国家创建一个文件,并寻找最好的命名策略

我正在使用.NET4.5。例如,我需要创建一个包含俄文数据的文件,它是否应该命名

rus_myfile.txt [ThreeLetterISOLanguageName]

ru_myfile.txt [TwoLetterISOLanguageName]
还是别的


基于.Net对象的命名约定有什么标准吗?此区域有任何问题吗?

您可以遵循资源文件(.resx)的命名约定:


您可以遵循资源文件(.resx)的命名约定:


有关“.resx”文件的官方命名约定规则(这实际上是标准),请参阅。如果您只想要“中性”区域性,请参阅“CultureInfo.Parent”。您可能还想看看“CultureInfo.IsNeutralCulture”(您可能需要它)。如果需要,甚至可以编写一个“CultureInfo”扩展方法(检索中性区域性),但是如果在不变区域性的实例上调用它(在本例中可能返回null或空字符串),请小心。另外,对于中国人来说,要注意“zh-CHS”和“zh-Hans”(两者都是“简体中文”),以及“zh-CHT”和“zh-Hant”(两者都是“中国传统中文”)。在每种情况下,后一个名称都是较新的版本,MSFT将其从旧版本更改为支持IETF标准(不问)。但是,新名称和旧名称仍然受支持(MSFT官方称,如果您有能力,可以使用新名称),因此有时您可能会在调用“CultureInfo.DislayName”时看到“Legacy”一词(取决于您使用的.NET版本)。另外,请注意您通常使用的.NET版本。有时会添加新的区域性,与早期版本相比,V4.0中的区域性要多得多,尽管不是真正的主流版本。注意,如果您试图通过将区域性名称传递给其构造函数来实例化“CultureInfo”,它可能在.NET的一个版本上工作,但在另一个版本上抛出“ArgumentException”。这可能会也可能不会影响您的特定应用程序,但这是需要注意的(例如,它会影响我的应用程序)。

有关“.resx”文件的官方命名约定规则(这实际上是标准),请参阅。如果您只想要“中性”区域性,请参阅“CultureInfo.Parent”。您可能还想看看“CultureInfo.IsNeutralCulture”(您可能需要它)。如果需要,甚至可以编写一个“CultureInfo”扩展方法(检索中性区域性),但是如果在不变区域性的实例上调用它(在本例中可能返回null或空字符串),请小心。另外,对于中国人来说,要注意“zh-CHS”和“zh-Hans”(两者都是“简体中文”),以及“zh-CHT”和“zh-Hant”(两者都是“中国传统中文”)。在每种情况下,后一个名称都是较新的版本,MSFT将其从旧版本更改为支持IETF标准(不问)。但是,新名称和旧名称仍然受支持(MSFT官方称,如果您有能力,可以使用新名称),因此有时您可能会在调用“CultureInfo.DislayName”时看到“Legacy”一词(取决于您使用的.NET版本)。另外,请注意您通常使用的.NET版本。有时会添加新的区域性,与早期版本相比,V4.0中的区域性要多得多,尽管不是真正的主流版本。注意,如果您试图通过将区域性名称传递给其构造函数来实例化“CultureInfo”,它可能在.NET的一个版本上工作,但在另一个版本上抛出“ArgumentException”。这可能会也可能不会影响您的特定应用程序,但需要注意(例如,它会影响我的应用程序)。

在这种情况下,您可以使用
CultureInfo.Name
作为字符串,对吗?谢谢您的建议。但是,对于多语言国家(如加拿大),文件名可能不正确(可能是fr CA或en CA)。该文件的内容是所有加拿大数据。那么我应该把文件命名为myfile.CA.txt吗?另外,如果我对数据库名称应用相同的名称,mydatabase.CA或CA_mydatabase是否正确?在本例中,您将使用
CultureInfo.Name
作为字符串,对吗?谢谢您的建议。但是,对于多语言国家(如加拿大),文件名可能不正确(可能是fr CA或en CA)。该文件的内容是所有加拿大数据。那么我应该把文件命名为myfile.CA.txt吗?另外,如果我对数据库名称应用相同的名称,mydatabase.CA或CA_mydatabase是否正确?您试图实现什么?为什么不使用资源文件(.resx)?没有标准的方法可以做到这一点…您想实现什么?为什么不使用资源文件(.resx)?没有标准的方法来执行此操作。。。
<file basename>.<culture>.txt
myfile.ru-RU.txt