调用方法时添加自定义变量的正确实现方式咨询
正确的实现方式解析
我来帮你搞定这个问题!你当前的写法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
相关产品推荐
相关产品推荐

