You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#是否存在可同时为两个变量赋不同值的函数,类似Python多变量赋值?

C#实现多变量同时赋值的方法

C# 7.0及以上版本支持元组解构特性,可以实现和你提到的Python写法几乎一致的多变量同时赋值效果,完全可以通过函数封装实现相同的输入读取赋值逻辑。

最简一行实现(无需单独封装函数)

直接利用LINQ和元组解构,一行完成和示例Python代码完全等价的逻辑:

var (n1, n2) = Console.ReadLine().Split(',').Select(int.Parse).ToArray() switch { var arr => (arr[0], arr[1]) };

封装为复用函数的实现

如果需要高频使用该逻辑,可以封装为专用函数,调用时更简洁:

// 封装函数:输出提示,读取一行按逗号分隔的输入,返回两个int值
static (int num1, int num2) ReadTwoCommaSeparatedInts(string prompt)
{
    Console.Write(prompt);
    string[] inputParts = Console.ReadLine().Split(',', StringSplitOptions.RemoveEmptyEntries);
    // 可自行补充输入格式校验、转换失败异常捕获逻辑
    return (
        int.Parse(inputParts[0].Trim()), 
        int.Parse(inputParts[1].Trim())
    );
}

调用方式和Python写法高度接近:

var (n1, n2) = ReadTwoCommaSeparatedInts("Input Numbers");

低版本C#兼容实现

如果使用的是不支持元组的C# 7.0以下版本,可通过out参数实现相同效果:

// out参数实现
static void ReadTwoCommaSeparatedInts(string prompt, out int n1, out int n2)
{
    Console.Write(prompt);
    string[] inputParts = Console.ReadLine().Split(',');
    n1 = int.Parse(inputParts[0].Trim());
    n2 = int.Parse(inputParts[1].Trim());
}

// 调用示例
int n1, n2;
ReadTwoCommaSeparatedInts("Input Numbers", out n1, out n2);

内容的提问来源于stack exchange,提问作者Jay_ gov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:07