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

C#中如何在方法内返回多个不同类型的返回值?

实现方案

你当前使用的是C# 7.0及以上版本支持的命名值元组语法,按照以下方式赋值返回即可:

1. Analyze方法返回值赋值

你完成Substring分析逻辑得到三个对应结果后,有两种常用返回写法:

  • 隐式匹配顺序返回:只要返回值的顺序和元组定义的字段顺序一致,会自动匹配对应字段
  • 显式指定字段返回:手动指定字段名赋值,不受顺序影响,可读性更高,也能避免顺序错位的隐性BUG

示例代码(包含你提到的Substring处理逻辑,可根据你的实际业务规则替换):

public static (bool IsValid, bool IsNew, string SomeString) Analyze(string input)
{
    // 这里替换为你自己的Substring分析逻辑
    bool isValid = false;
    bool isNew = false;
    string someString = string.Empty;

    if (!string.IsNullOrEmpty(input) && input.Length >=3)
    {
        isValid = input.Substring(0,1) == "1";
        isNew = input.Substring(1,1) == "1";
        someString = input.Substring(2);
    }

    // 写法1:隐式顺序匹配
    // return (isValid, isNew, someString);

    // 写法2:显式指定字段(更推荐)
    return (IsValid: isValid, IsNew: isNew, SomeString: someString);
}

2. isValid方法实现

直接读取传入元组的IsValid字段返回即可:

public static bool isValid((bool IsValid, bool IsNew, string SomeString) input)
{
    return input.IsValid;
}

完整测试示例

public static class Analyzer
{
    public static (bool IsValid, bool IsNew, string SomeString) Analyze(string input)
    {
        bool isValid = false;
        bool isNew = false;
        string someString = string.Empty;

        if (!string.IsNullOrEmpty(input) && input.Length >=3)
        {
            isValid = input.Substring(0,1) == "1";
            isNew = input.Substring(1,1) == "1";
            someString = input.Substring(2);
        }

        return (IsValid: isValid, IsNew: isNew, SomeString: someString);
    }

    public static bool isValid((bool IsValid, bool IsNew, string SomeString) input)
    {
        return input.IsValid;
    }
}

// 调用示例
// var result = Analyzer.Analyze("11test content");
// Console.WriteLine(result.IsValid); // 输出True
// Console.WriteLine(result.IsNew); // 输出True
// Console.WriteLine(result.SomeString); // 输出test content
// Console.WriteLine(Analyzer.isValid(result)); // 输出True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:36:04