第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較通用列表的元素

比較通用列表的元素

C#
慕桂英3389331 2021-04-13 17:14:58
我有一個TestClass<T>將演變?yōu)榛诙训膬?yōu)先級隊列。堆是List<T>類型。我正在重新排序代碼,因此需要比較的元素List<T>。你可以猜到我收到了 error CS0019: Operator < cannot be applied to operands of type T and T。我知道這并不奇怪,并且C#泛型不是C ++模板。所以,我試圖約束Type T帶IComparable。但這并沒有幫助。我發(fā)現(xiàn)的建議(為了解決此問題)主要是創(chuàng)建一個虛擬類,該類定義了此類運算符,并限制了T此類。但是,我發(fā)現(xiàn)此解決方案不是很方便。那么,還有其他方法可以解決此問題嗎?這是相關的代碼:using System;using System.Collections.Generic;public class TestClass<T>    where T : IComparable{    private List<T> heap;    public TestClass(int maxSize)    {        this.heap = new List<T>(maxSize + 1);    }    private void ReorderUpwards(int nodeIndex)    {        while (nodeIndex > 1 && this.heap[nodeIndex / 2] < this.heap[nodeIndex])        {            nodeIndex /= 2;        }    }}
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

使用IComparable和代替使用><使用CompareTo方法

value.CompareTo(value2) <= 0


查看完整回答
反對 回復 2021-04-24
  • 1 回答
  • 0 關注
  • 138 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號