iequatable

    0熱度

    2回答

    我有一個基於示例代碼從MSDN微軟以下類: Imports System.Collections.Generic Module SharedCode Public Class Fund Implements IEquatable(Of Fund) 'Class Fund must implement Function Equals(other As Retir

    5熱度

    2回答

    我經常使用代表工廠生產實體的類。 爲了能夠輕鬆地輕鬆測試我的工廠,我通常實施IEquatable<T>,同時覆蓋GetHashCode和Equals(如MSDN所示)。 例如;以下面的實體類爲例進行簡化。通常我的課有更多的屬性。偶爾也有一個集合,它在Equals方法中使用SequenceEqual進行檢查。 public class Product : IEquatable<Product> {

    5熱度

    1回答

    在一個性能敏感的程序中,我試圖顯式調用IEquatable<T>.Equals()而不是Object.Equals(以避免在我的情況下出現拳擊)。儘管我盡了最大的努力,編譯器總是選擇Object.Equals()而不是 - 我不明白。一個人爲的例子類: class Foo : IEquatable<Foo> { public bool Equals(Foo f) {

    1熱度

    1回答

    我有一個通用的鏈接列表,我可以檢查兩個鏈表是否相等,如果每個節點的值是相同的並且按順序排列。 我有一個功能,它將鏈表分成兩部分,後來我想檢查兩個鏈表在它的節點中有相同的值。 func divideList(atIndex index:Int) -> (first: LLGeneric<T>?,second: LLGeneric<T>?) 我找它爲我的使用情況下,我可以分割,然後比較(倒車一個列

    1熱度

    2回答

    讓我們考慮Polygon類。大多數情況下,檢查平等是否應該比較參考值,但是在許多情況下,值相等會派上用場(例如,將兩個多邊形與Assert.AreEqual進行比較)。 我的想法是使參考平等的價值平等略爲次要。在這種情況下,很明顯==operator應該保持其默認引用檢查實現。 那麼object.Equals()和IEquatable<Polygon>.Equals()呢? MSDN並不意味着==

    7熱度

    3回答

    考慮this代碼: public static void Main() { var item = new Item { Id = 1 }; IList list = new List<Item> { item }; IList array = new[] { item }; var newItem = new Item { Id = 1 };

    1熱度

    2回答

    我有一個從繼承自IEquatable的基類繼承的對象<>。到目前爲止這麼好,它適用於繼承相同基類的其他對象。但是當我使用「Attrbiutes」屬性時,我有類「RoomType」,在那裏似乎有問題。下面你會看到這些類和一個測試,我期望得到其他輸出。 當我註釋「SafeHashCode(Attributes)」返回預期結果時,我將問題縮小到了RoomType.GetHashCode()。 測試: p

    0熱度

    1回答

    我想申請/練習DDD與我的新項目,因此我創建了那些典型的DDD基類,即Entity,ValueObject,AggregateRoot等等。 問: 當你有實體基本對象實施IEquatable,應與標識(ID)的默認值,兩個實體被視爲不等於或等於? 例如,我用Guid類型的身份 public interface IEntity { Guid LocalId { get; } } p

    -1熱度

    2回答

    我想GroupBy記錄列表中的多個對象,而不是簡單的多個值。 我無法使用引用類型對象進行分組。我有一個包含Room,Type和DateTime的對象集合。房間,類型和日期時間都具有與它們相關聯的屬性。我已經將IE適配界面添加到了房間,並且這種類型認爲這足以與羣組一起使用。 var groups = collection .Where(g => g.Stage == InventorySt

    1熱度

    1回答

    using System; using System.Collections.Generic; //This is my class for obtaining certain values, putting them in a List<T> //and then use the List to do certain operations public class SRvaluesCh