out参数
解决方法如果返回多个值,但可能类型不同的问题。
假设一个将整数字符串转为整数的方法。
代码如下:
var number = int.Parse("2"); // 结果:2 var number2 = int.Parse("Hello"); // 报错,与期望传递的值不匹配:只能传递整数类型的字符串 // 解决 if (int.TryParse("2", out var result)) { Console.WriteLine($"result = {result}"); // result = 2 } else { // 转换失败,与期望传递的值不匹配 }
再比如以下功能代码:
/// <summary> /// 获取当前用户id列表并返回总数 /// </summary> /// <param name="total"></param> /// <returns></returns> public List<string> GetUserIds(out int total) { var userIds = new List<string> { "1", "2", "3" }; total = 9999; return userIds; } // 调用 var total = 0; var userIds = GetUserIds(out total);