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

调用方法时添加自定义变量的正确实现方式咨询

正确的实现方式解析

我来帮你搞定这个问题!你当前的写法Symbol.BTC_+coin存在问题,因为Symbol.BTC_通常是预定义的常量(比如字符串"BTC")或者枚举成员,直接用加号拼接要么会出现语法错误,要么得到不符合API要求的符号格式。下面给你几种靠谱的实现方案:

  • 方案1:如果Symbol是字符串常量类
    假设你的Symbol类是像下面这样定义的字符串常量集合:

    public static class Symbol
    {
        public const string BTC = "BTC";
        // 其他币种常量...
    }
    

    那正确的写法是直接拼接字符串,生成API需要的交易对符号:

    var coin = "USDT";
    var targetSymbol = Symbol.BTC + coin; // 生成"BTCUSDT"(如果API要求无分隔符)
    // 如果API要求用下划线/横杠分隔,就改成:Symbol.BTC + "_" + coin
    var price = await api.GetPriceAsync(targetSymbol);
    
  • 方案2:如果Symbol是枚举类型
    如果Symbol是枚举,比如:

    public enum Symbol
    {
        BTC,
        ETH,
        // 其他币种枚举值...
    }
    

    你需要先把枚举成员转换为字符串,再和计价货币拼接:

    var coin = "USDT";
    var baseSymbolStr = Symbol.BTC.ToString();
    var targetSymbol = baseSymbolStr + coin;
    var price = await api.GetPriceAsync(targetSymbol);
    
  • 方案3:检查API是否有更合适的重载方法
    有些加密货币API会提供专门的重载方法,允许你分别传入基础币种和计价货币,比如:

    // 假设API存在这样的重载
    var price = await api.GetPriceAsync(Symbol.BTC, "USDT");
    

    这种方式更规范,也不容易出错,建议你先查看API的文档或者IntelliSense提示确认是否有这类重载。

最后要注意:不同交易所的交易对格式可能不同,有的用无分隔符(如BTCUSDT),有的用下划线(BTC_USDT)或者横杠(BTC-USDT),一定要根据你使用的API要求来调整拼接格式哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:26:21