小编Kas*_*tel的帖子

如何连接字符?

我的升 C 调技能很基础,但我偶然发现了“连接”部分

当我连接以下代码时,它可以正常工作:

string a, b, c;
          a = "Bon";
          b = "jour";
          c = a + b;
          Console.WriteLine(c);
          Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

控制台结果 = Bonjour

现在我尝试对 char 做同样的事情。

 char c1, c2, c3;
          c1 = 'B';
          c2 = 'j';
          c3 = c1 + c2;
          Console.WriteLine(c3);
          Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

错误:无法将类型“int”隐式转换为“char”。存在显式转换(您是否缺少强制转换?)

这就是我尝试的,因为我学会了如何投射。

 char c1, c2, c3;
          c1 = 'B';
          c2 = 'j';
          c3 = (char) c1 + c2;
          Console.WriteLine(c3);
          Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

同样的错误。

这并不是说我需要连接2个字符,我只是在学习。我只是不明白为什么这个演员阵容不可能。

提前致谢。

c# string concatenation char

5
推荐指数
1
解决办法
2万
查看次数

if语句中的语句

我试图理解这段代码背后的逻辑

int i = 13;
if (i<10) if (i>=5)   Console.WriteLine("Case number 1");
else Console.WriteLine("case number 2");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

所以我知道这不是正确的代码(因为应该有括号使这个应用程序工作).

我知道如何通过修改它来使这段代码"干净"

但是我试图理解Csharp实际上是如何用这个错误的代码行事的,这个代码的执行背后的逻辑

根据我的阅读,在这种情况下(如果> = 5),else适用于最接近的if.

因此,当我写i = 3时,它会读取第一个if并转到第一个,然后控制台给我"Case nr 2".

当我写i = 7它时读取第二个并给我"Case nr 1"

我写的i = 13时候什么也没给我

根据我的理解,在研究它时应该从2开始,如果之前已经过测试,那么根据我的理解,当它测试第一个是否它应该去其他地方,如果它测试它是否应该到第二个也是if是不是真的有意义.

如果它只测试第二个,如果它应该给我案例编号.

所以我的思维方式肯定是错的,但我找不到为什么它没有出现任何东西

.net c# if-statement

0
推荐指数
1
解决办法
80
查看次数

标签 统计

c# ×2

.net ×1

char ×1

concatenation ×1

if-statement ×1

string ×1