如果可能,如何为方法选择返回值?

Har*_*hna 2 .net c# methods return-value winforms

我有一个方法private static DataTable ParseTable(HtmlNode table),有时这个方法没有返回值,然后我想使返回值可选,是否可能?

我试过if条件.但是有错误.

如果可能,如何为方法选择返回值?

Ode*_*ded 13

您不能使返回值可选.

你的两个选择是返回一个null或一个空DataTable:

return new DataTable();
Run Code Online (Sandbox Code Playgroud)

要么:

return null;
Run Code Online (Sandbox Code Playgroud)

哪一个是对的?这取决于您的应用程序逻辑以及null您在调用函数中愿意做多少检查.

更新:(以下评论)

这是有条件地返回(假设一个名为dataTable的变量):

 if(gotTable)
 {
   return dataTable;
 }
 else
 {
   return null;
 }
Run Code Online (Sandbox Code Playgroud)

  • 我的天啊!你的句子中有代码:) (4认同)

Bri*_*sen 5

null是为了什么.您的方法可能不会返回任何对象null.

请记住,返回null可能会使调用者的事情变得复杂,因为他们必须在使用返回的引用之前检查null,因此在某些情况下返回Null对象可能更好.