为什么在编译时,C#7语法中的TryParse(空参数)会发出警告?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (20)

在C#7中,可以做

            if (int.TryParse("123", out int result)) 
                Console.WriteLine($"Parsed: {result}");

           if (int.TryParse("123", out _))
                Console.WriteLine("Syntax OK");                

下面是控制台应用程序的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            if (int.TryParse("123", out _))
                Console.WriteLine("Syntax OK");
        }
    }
}
提问于
用户回答回答于

  • 该问题不限于TryParse。如果编写自己的函数,也会发生这种情况: static void Main(string[] args) { bool myOutDemo(string str, out int result) { result = (str??"").Length; return result > 0; } // discard out parameter if (myOutDemo("123", out _)) Console.WriteLine("String not empty"); }

扫码关注云+社区