gpt4 book ai didi

c# - 有人能告诉我为什么 (return DayName;) 会导致错误,因为它是一个未分配的局部变量吗?

转载 作者:行者123 更新时间:2023-12-03 09:03:12 24 4
gpt4 key购买 nike

这是我的代码:

namespace Hello_World
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetDay(0));
Console.ReadLine();
}

static string GetDay(int DayNum)
{
string DayName;

switch (DayNum)
{
case 0:
DayName = "Sunday";
break;
}

return DayName;
}
}
}

最佳答案

为了使用变量的值,您需要确保无论执行采用哪条路径,您的变量都会收到一个值。实际上,您不能保证,因为执行可能会采用一条路径,并且您的变量不会收到任何值。那是当它不进入开关盒时,这是一个可选路径。

此外,此验证不考虑语义。例子:

int a;
int b = 1;

if (b == 1) {
a = 2;
}

return a; // This causes an error

虽然执行总是会进入if,因为 b将始终等于 1,ifs 始终被视为可选代码块,因此无法确定 a将具有 return 的时间值.

关于c# - 有人能告诉我为什么 (return DayName;) 会导致错误,因为它是一个未分配的局部变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60455920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com