我有个问题。例如:
StringBuilder sb = new StringBuilder();
sb.append("Teacher,");
String s = sb.append(" Good").append("Morning!").toString();
Run Code Online (Sandbox Code Playgroud)
现在,在最后一行中,我创建了两个附加方法的链。我知道每个方法追加方法都会返回内存中字符串的地址(我是对的?对吧?)。所以在第一个中它附加到指向的sb.append地址。sb第一个sb.append在运行时首先执行,但是接下来会发生什么.append?接下来.append是使用第一个追加方法返回的地址还是我错了?这就是我的意思:
第一个追加 ->sb.append(" Good");
第二个追加returnedAddr.append("Morning!");
是这样工作的吗?
谁能解释我为什么会这样?
class Program
{
static char[] ch = new char[2];
static string name = "Ivankata";
static void Main(string[] args)
{
inputChar();
}
static void inputChar()
{
ch = name.ToCharArray();
Console.WriteLine(ch);
}
}
Run Code Online (Sandbox Code Playgroud)
我的名为 ch 的字符数组只接受 2 个字符,但是当我将字符串“Ivankata”转换为字符数组时,它会以某种方式工作吗?不应该把剩下的“ankata”剪掉,只显示“iv”吗?任何人都可以解释这里发生了什么吗?