试图将代码转换为存储逗号分隔的枚举字符串

本文关键字:分隔 枚举 字符串 存储 代码 转换 | 更新日期: 2023-09-27 17:53:44

我正在尝试转换以下内容:

public IEnumerable<string> MyProperty
{
    get
    {
        if (String.IsNullOrWhiteSpace(Record.MyProperty)) return new string[] { };
        return Record
            .MyProperty
            .Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries)
            .Select(r => r.Trim())
            .Where(r => !String.IsNullOrEmpty(r));
    }
    set { Record.MyProperty = value == null ? null : String.Join(",", value); }
}

处理一个enum,但我失败了(这是一个词吗?)。

我正在尝试这样做:

string.Split(new[] ',', Record.MyProperty).Select
    (r => (MyEnum)Enum.Parse(typeof(MyEnum), r));

执行解析,但又"严重失败"。

指导吗?谢谢。

更新:

我正在尝试将此数据持久化为string。因此,如果用户选择了四个enums中的三个,它将这样保存为字符串:"Choice1, Choice2, Choice3"。

以上代码是public string MyProperty { get; set; }

试图将代码转换为存储逗号分隔的枚举字符串

的代理

您应该在传递给Split的数组周围添加一些大括号,并将其作为实例方法调用,而不是静态方法。

Record.MyProperty.Split(',')
                 .Select(r => (MyEnum)Enum.Parse(typeof(MyEnum), r));

这对你有用吗?