为了账号安全,请及时绑定邮箱和手机立即绑定

将可为 null 的自定义类作为参数传递

将可为 null 的自定义类作为参数传递

C#
忽然笑 2023-12-17 16:52:43
我的印象是,如果我将一个类作为引用传递给函数,则该引用可以为空。示例:我有一个代码优先的实体类/数据库表:public class Table1{    [Key]    [DatabaseGenerated(DatabaseGeneratedOption.None)]    public int FillID { get; set; }    public int OrderID { get; set; }    public int FillQuantity { get; set; }    public DateTime TransactionDateTime { get; set; }    public virtual tblInstruments tblInstruments { get; set; } }我想创建一个具有以下签名的函数:public static void Function1 (int? i, Table1? t)Table1? t 给出错误:只有不可为 null 的值类型才能作为 System.Nullable 的基础所以我不确定我做错了什么。 我试过public static void Function1 (int? i, ref Table1? t)但这并没有解决问题。任何指示将不胜感激。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

默认情况下,所有引用类型均可为 null,您无需添加 ? 修饰符。来自文档:

基础类型 T 可以是任何不可为 null 的值类型。 T 不能是引用类型。

所以你的代码应该是:

public static void Function1 (int? i, Table1 t)

C# 的下一个版本,版本 8 将引入可空引用类型,您需要在每个项目的基础上启用选项,但这将允许您拥有不可为 null 的引用类型。


查看完整回答
反对 回复 2023-12-17
  • 1 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信