_rivulet 2022-06-01 23:09 采纳率: 66.7%
浏览 65
已结题

C# switch中(case 条件:) 条件判断


class BinaryTree<T>
        // where T:IComparable<T>
        {
            public BinaryTree(T item)
            {
                Item = item;
            }
            public T Item { get; set; }
            public Pair<BinaryTree<T>> SubItem
            {
                get { return _SubItem; }
                set
                {
                    //IComparable<T> first;
                    //first = value.First.Item;

                    switch (value)
                    {
                        case { First: null }:
                            break;
                        case { Second: null }:
                            break;
                        case
                        {
                            First: { Item: IComparable<T> first },// First: { Item: T first },带接口约束
                            Second: { Item: T second }
                        }:
                            if (first.CompareTo(second) < 0)
                            {
                                Console.WriteLine("first is less than second");
                                // first is less than second
                            }
                            else
                            {
                                Console.WriteLine("second is less than or equal to first");
                                // second is less than or equal to first
                            }
                            break;
                        default:
                            throw new InvalidCastException(
                                @$"Unable to sort the items as {typeof(T)} does not support IComparable<T>.");
                    }
                    _SubItem = value;
                }

            }
            private Pair<BinaryTree<T>> _SubItem;
        }
class Pair<T>
        {
            public Pair(T first, T second)
            {
                First = first;
                Second = second;
            }

            public T First { get; set; }
            public T Second { get; set; }
        }

想询问BinaryTree中switch语句中case中的{First:null}是什么意思,是First is null?的意思吗?First: { Item: IComparable first }是什么意思?

  • 写回答

1条回答 默认 最新

  • Null_Reference 2022-06-02 08:49
    关注

    .NET 版本是多少

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月11日
  • 已采纳回答 6月3日
  • 修改了问题 6月2日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置