You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#只读属性如何实现两种返回结果的分支逻辑?

问题解答

结论

完全可以在C#只读属性的get访问器中实现多分支返回逻辑,你只需要补充构造函数的标识符列表初始化逻辑,同时补全三元运算符的边界判断条件即可。

完整实现代码

using System;
using System.Collections.Generic;
// 若使用LINQ简化写法需要额外引入该命名空间
// using System.Linq;

public class IdentifiableObject
{
    private List<string> _identifiers;

    public IdentifiableObject(string[] idents)
    {
        // 初始化标识符列表,同时处理入参为null的边界情况
        _identifiers = idents != null ? new List<string>(idents) : new List<string>();
    }
  
    public string FirstID
    {
        get
        {
            // 写法1:原生三元运算符实现,无需额外引用命名空间
            return _identifiers.Count > 0 ? _identifiers[0] : String.Empty;
            
            // 写法2:LINQ简化写法,需要先引用System.Linq
            // return _identifiers.FirstOrDefault() ?? String.Empty;
        }
    }
}

逻辑说明

  • 构造函数中先对入参做非空处理,避免后续访问_identifiers时出现空引用异常
  • get访问器中先判断_identifiers是否存在元素,存在则返回第一个元素,否则返回空字符串,避免触发索引越界异常

内容的提问来源于stack exchange,提问作者Karim Aly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:27:00