11

目前,我这样做:

Names -> "name1|name2|name3"

Resource.Names.Split('|');

是否可以将这些名称定义为资源文件中的数组,这样我就不必每次都通过拆分来解析?

可能类似于以下内容?

Names[] -> "name1"
Names[] -> "name2"
Names[] -> "name3"
Resource.Names; // is of type string[]

也许还有另一种更好的方法?

4

2 回答 2

0

您可以使用应用程序设置来存储您的阵列。转到您的应用程序属性,然后转到设置选项卡。您可以设置设置的名称、选择所需的类型、范围和值。

欲了解更多信息:http: //msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx

于 2010-08-28T06:47:51.250 回答
0

根据MSDN ResXResourceWriter 页面,可以使用那里提供的代码生成此类资源。字符串和数组都是可序列化的类型,但当然资源包含 Base64 编码的序列化数组表示形式,不易读写。但这是可能的,并且在添加生成的 resx 文件时正确检测到类型。我使用以下代码进行测试:

using System.Resources;

internal class Program
{
    private static void Main(string[] args)
    {
        var arr = new[] { "Test", "string", "array", "resources" };

        using (var writer = new ResXResourceWriter("./output.resx"))
        {
            writer.AddResource("strings", arr);
            writer.Generate();
        }
    }
}

也就是说,不,如果没有额外的自定义,就不可能在资源文件中以人类可读的形式定义字符串数组。

于 2021-08-16T08:43:00.553 回答