c# - 有人可以解释为什么我必须将 _one 转换为字符串,但在以下 C# 代码中将其他 3 个变量转换为字符串?
问题描述
我不明白为什么我得到一个无法转换为字符串的 _one 而不是其他 3!是的,我是编程新手,我想弄清楚为什么 stackoverflow 要求我输入比我需要问的问题更多的单词!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace diviTwo
{
class Program
{
static void Main(string[] args)
{
//Print Test Problems
var n = "\n";
var one = "-1 + 4 * 6";
var two = "(35 + 5) % 7";
var three = "14 + -4 * 6 / 11";
var four = "2 + 15 / 16 * 1 - 7 % 2";
Console.WriteLine(one+ n+ two+ n+ three+ n+ four+ n);
//Print Results of Test Problems
var _one = -1 + 4 * 6;
var _two = (35 + 5) % 7;
var _three = 14 + -4 * 6 / 11;
var _four = (2 + 15) / ((16 * 1) - (7 % 2));
Console.WriteLine(Convert.ToString(_one)+ n+ _two+ n+ _three+ n+ _four+ n);
}
}
}
解决方案
没有什么特别之处_one
,只是如果第一项是字符串,C# 知道您要将其他所有内容视为字符串并将它们连接起来。如果你这样做,你会得到相同的结果
Console.WriteLine("Result=" + _one + n + _two + n + _three + n + _four + n);
如果您只是提供了一个全部为整数的变量列表,C# 会将它们相加并给出结果。但是,您从一个数字开始并添加一个字符串,因此 C# 不知道该怎么做。
推荐阅读
- node.js - 在重置密码反应前端时出错,但在 api 请求中工作正常
- asp.net-web-api - FromQueryAttribute 和 ModelBinderAttribute 的顺序很重要吗?
- smtp - 如何在谷歌工作区(Gmail)中验证电子邮件消息 ID
- python - Python:用标签中的空格字符重命名驱动器卷
- aem - 如何在 AEM 中通过 groovy 脚本创建用户组并设置 ACL 权限
- node.js - Node.js API 真实证书被视为自签名
- excel - 在excel中提取两个字符串之间的名称
- laravel-8 - 使用 livewire-ui/modal 创建的模态不会关闭
- javascript - 智能合约测试 - “未捕获的类型错误:无法读取未定义的属性‘调用’”
- flutter - Flutter Riverpod 配置 StreamController 并在 HookWidget 中使用