如何從一個C#泛型方法返回null?
泛型允許我們定義一個類的欄位、方法、引數等型別的佔位符。泛型在編譯時用一些特定型別替換這些佔位符。可以使用尖括號<>定義泛型。集合的一個主要限制是缺乏有效的型別檢查。這意味著,你可以把任何物件放入集合,因為 C# 程式語言中的所有類都從 Object 基類擴充套件而來。
而且,我們不能像在普通方法中那樣簡單地從泛型方法返回 null。以下是我們嘗試返回 null 時泛型方法將丟擲的錯誤。
using System;
namespace DemoApplication {
class Program {
public static void Main() {
Add(5, 5);
}
public static T Add<T>(T parameter1, T parameter2) {
return null;
}
}
}![]()
因此,為了從泛型方法返回 null 或預設值,我們可以使用 default()。default(T) 將返回提供的型別的預設物件。
示例
using System;
namespace DemoApplication {
class Program {
public static void Main() {
Add(5, 5);
Console.ReadLine();
}
public static T Add<T>(T parameter1, T parameter2) {
var defaultVal = default(T);
Console.WriteLine(defaultVal);
return defaultVal;
}
}
}輸出
程式碼輸出是
0
這裡我們可以看到返回了 integer 0 的預設值。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP