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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 C# (.NET Core 3) 無(wú)法為 MemoryExtensions.IndexOf

為什么 C# (.NET Core 3) 無(wú)法為 MemoryExtensions.IndexOf

C#
Cats萌萌 2023-08-13 15:38:55
該代碼片段是根據(jù)其前序和中序表示重建二叉樹。static public BinaryTreeNode<T> BuildFromPreAndInOrder<T>(ReadOnlySpan<T> preOrder, ReadOnlySpan<T> inOrder){    if (preOrder == null || preOrder.IsEmpty || inOrder == null || inOrder.IsEmpty) { return null; }    var val = preOrder[0];    BinaryTreeNode<T> root = new BinaryTreeNode<T>(val);    // this doesn't make sense    var splitPoint = MemoryExtensions.IndexOf<T>(inOrder, val);    if (splitPoint == -1) {        return null;    }    preOrder = preOrder.Slice(1);    var leftPart = inOrder.Slice(0, splitPoint);    var rightPart = inOrder.Slice(splitPoint + 1);    root.left = BuildFromPreAndInOrder(preOrder, leftPart);    root.right = BuildFromPreAndInOrder(preOrder, rightPart);    return root;}該節(jié)點(diǎn)很簡(jiǎn)單,所以我附上部分內(nèi)容。class BinaryTreeNode<T> : IEquatable<BinaryTreeNode<T>>{    public T key;    public BinaryTreeNode<T> left;    public BinaryTreeNode<T> right;}我嘗試在 .NET Core 3 Preview 7 SDK 上編譯它,但編譯器抱怨error CS1503: Argument 2: cannot convert from 'T' to 'System.ReadOnlySpan<T>'。為什么編譯器不能選擇正確的方法?檢查工具向我顯示了一個(gè)應(yīng)該能夠與此匹配的簽名。public static int IndexOf<T>([NullableAttribute(new[] { 0, 1 })] this ReadOnlySpan<T> span, [NullableAttribute(1)] T value) where T : IEquatable<T>;
查看完整描述

1 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

您的方法沒(méi)有任何限制,因此實(shí)際上沒(méi)有適用where T : IEquatable<T>的重載。IndexOf添加該內(nèi)容,問(wèn)題就消失了。

實(shí)際的錯(cuò)誤仍然是誤導(dǎo)/錯(cuò)誤的。這是羅斯林的變化/回歸。從 C# 7.2 到 7.3,可以觀察到錯(cuò)誤消息之間的變化;7.2 你會(huì)得到

錯(cuò)誤 CS0314: 該類型T不能用作T泛型類型或方法中的類型參數(shù)...沒(méi)有裝箱轉(zhuǎn)換或從T到 的 類型參數(shù)轉(zhuǎn)換System.IEquatable<T>。

而 7.3 給出的用處要小得多

錯(cuò)誤 CS1503:參數(shù) 1:無(wú)法從 轉(zhuǎn)換FirstParamType為?SecondParamType。

這不是特定于 .NET Core 或 .NET Core 的ReadOnlySpan,它可以使用任何泛型類進(jìn)行重現(xiàn)。


查看完整回答
反對(duì) 回復(fù) 2023-08-13
  • 1 回答
  • 0 關(guān)注
  • 167 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)