0
A
回答
0
微軟的文檔使用時必須找到這樣的例子一個非常好的地方:
https://msdn.microsoft.com/en-us/library/dd799517(v=vs.110).aspx
using System;
using System.Collections.Generic;
abstract class Shape
{
public virtual double Area { get { return 0; }}
}
class Circle : Shape
{
private double r;
public Circle(double radius) { r = radius; }
public double Radius { get { return r; }}
public override double Area { get { return Math.PI * r * r; }}
}
class ShapeAreaComparer : System.Collections.Generic.IComparer<Shape>
{
int IComparer<Shape>.Compare(Shape a, Shape b)
{
if (a == null) return b == null ? 0 : -1;
return b == null ? 1 : a.Area.CompareTo(b.Area);
}
}
class Program
{
static void Main()
{
// You can pass ShapeAreaComparer, which implements IComparer<Shape>,
// even though the constructor for SortedSet<Circle> expects
// IComparer<Circle>, because type parameter T of IComparer<T> is
// contravariant.
SortedSet<Circle> circlesByArea =
new SortedSet<Circle>(new ShapeAreaComparer())
{ new Circle(7.2), new Circle(100), null, new Circle(.01) };
foreach (Circle c in circlesByArea)
{
Console.WriteLine(c == null ? "null" : "Circle with area " + c.Area);
}
}
}
/* This code example produces the following output:
null
Circle with area 0.000314159265358979
Circle with area 162.860163162095
Circle with area 31415.9265358979
*/
相關問題
- 1. C中是否有任何NFS實現?
- 2. 逆變實踐 - C#
- 3. 是否有我的僞代碼的任何實際代碼?
- 4. MSVC - 任何檢查函數是否實際內聯的方法?
- 5. Amazon EC2上是否有任何實際託管的* *?
- 6. Java/Swing是否有任何(實際)Office 2007外觀?
- 7. 填充指令是否有任何實際益處
- 8. 是否有任何方法來確定變量是否包含MooTools類實例
- 9. 是否有任何c編譯器實現任何C1X功能?
- 10. 是否有任何實際的Android手機實現藍牙spp配置文件
- 11. 在Java或C#中是否有任何簽名實用程序方法?
- 12. Async Web API是否適合任何實際用途?
- 13. 在C#中,是否事件處理函數參數是逆變?
- 14. c#中虛函數的實際用法
- 15. 無法用接口實現逆變?
- 16. 與Angular一起使用呃逆的實際好處是什麼?
- 17. 爲C#(實際上任何語言)
- 18. 如果類的接口是逆變的,使用泛型引用類型參數是否有任何好處?
- 19. 確定.iso是否實際上是C#中的視頻/電影#
- 20. 在C#中的逆變化#
- 21. 是否有任何方法與for循環執行相同的功能,而沒有實際使用forloop?
- 22. 改變在C#中的實際參數
- 23. 變量變量的實際用法是什麼?
- 24. 是否有命名實體識別的任何C#庫?
- 25. 是否有爲C#實現的任何圖形數據結構?
- 26. 在PHP中是否有is_infinite()的日常實際應用?
- 27. C#屬性實際上是方法嗎?
- 28. 是否有任何變通使用在劃線PATCH方法
- 29. Androguard有沒有辦法確定某個方法是否可以實際調用?
- 30. scala中的逆變法
的可能的複製[協變和逆變現實世界的例子(http://stackoverflow.com /問題/ 2662369 /協方差和逆變,真實世界的例子) –