gpt4 book ai didi

C# 返回元组 - 就像 Python

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

我是 OOP 和 C# 新手。我有很强的 Python 背景,我想知道 C# 中是否有类似的东西

#Python

def outputSmth():
num1 = 3
num2 = 3
str1 = "Hi"

return (num1, num2, str1) #Returning a tuple that can later be accessed
# by index

如果没有直接的等价物(我怀疑是否存在),那么最正确的方法是什么?

这是我的功能:

//C#    
static tuple PrintUserCreationMnu()
{
Console.Clear();
Console.WriteLine("---- Create the user ----\n");
Console.Write("User ID : "); string usrID = Console.ReadLine();
Console.Write("First Name : "); string f_Name = Console.ReadLine();
Console.Write("Last Name : "); string l_Name = Console.ReadLine();
Console.Write("Expected leaving date : "); string l_Date = Console.ReadLine();

return ; //Here I'd like to return all my inputted values
}

谢谢!

最佳答案

您可以简单地返回 string[]List<string> :

static string[] PrintUserCreationMnu()
{
// ...
return new[]{ usrID, f_Name, l_Name, l_Date};
}

但一般来说,创建自定义类型 User 会更好具有有意义的属性并返回它。然后您可以通过属性而不是索引来访问它们:

static User PrintUserCreationMnu()
{
// ...
return new User{ UserId = usrID, FirstName = f_Name, LastName = l_Name, Date = l_Date};
}

更好的是使用正确的类型,int对于 IdDateTime日期。您可以使用 ...TryParse方法(例如 int.TryParse )以确保格式有效。

<小时/>

为了完整起见,是的,.NET 还具有 tuples 。但我不会经常使用它们,因为不清楚 Item4 是什么?是。在查看源代码之前没有人知道这一点。因此,从方法返回的类型不是一个好的类型(如果是 public 则更差)。然而,它是:

static Tuple<string, string, string, string> PrintUserCreationMnu()
{
// ...
return Tuple.Create(usrID, f_Name, l_Name, l_Date);
}

关于C# 返回元组 - 就像 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38657476/

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