C# 正在将\n添加到字符串数组中

C# 正在将\n添加到字符串数组中,c#,arrays,list,C#,Arrays,List,我正试图用c#编写一些统一代码。我在写入列表时遇到问题。这是我的密码 public static List<string> ChatHeads = null; public void Start() { ChatHeads = new List<string>(); } void Update() { ChatBoxMessage.text = GetChatHead(); } string GetChatHead() { return str

我正试图用c#编写一些统一代码。我在写入列表时遇到问题。这是我的密码

public static List<string> ChatHeads = null;
public void Start()
{
    ChatHeads = new List<string>();
}

void Update()
{
    ChatBoxMessage.text = GetChatHead();
}

string GetChatHead()
{
    return string.Join(System.Environment.NewLine, ChatHeads.ToArray());
}

public void MainFunc()
 {
    string FinalMessage = "";

    if (FinalMessage.Length >= 82 || !.inWorld)
    {
        FinalMessage = Message + "\n";
        ChatHeads.Add(FinalMessage);
    }
    else
    {
        FinalMessage = "[" + username + "] " + MainWorld.ChatTag + Message + "\n";
        ChatHeads.Add(FinalMessage);
     }
 }
公共静态列表聊天头=null;
公开作废开始()
{
聊天头=新列表();
}
无效更新()
{
ChatBoxMessage.text=GetChatHead();
}
字符串GetChatHead()
{
返回string.Join(System.Environment.NewLine,chatweads.ToArray());
}
public void MainFunc()
{
字符串FinalMessage=“”;
如果(FinalMessage.Length>=82 | | |!.inWorld)
{
最终消息=消息+“\n”;
添加(最终消息);
}
其他的
{
FinalMessage=“[”+用户名+“]”“+MainWorld.ChatTag+消息+”\n”;
添加(最终消息);
}
}
问题是GetChatHead()仅在\n不是字符串的最后一部分时返回第一个数组字符串。只要代码出现,\n代码就可以正常工作,但它永远不会消失。 谢谢

Pic列出数组,在任何行的末尾都没有\n


[

已解决。显然,Encoding.Default.GetString()不允许向字符串添加任何内容

Message = Encoding.Default.GetString(packet.ReadBytes((int)Length));
不好

Message=packet.ReadString();


成功。

我不太清楚您为什么要将聊天盒消息作为数组获取。您能解释一下吗?为什么需要在一定数量的字符处指定新行?“GetChatHead()只返回第一个数组字符串”方法似乎不是问题所在。如何显示它?什么是
ChatBoxMessage
?到目前为止,我无法重现您的问题。当我尝试时,发布的数组会产生7行文本。这是
GetChatHead()
仅返回一行的示例吗?text ChatBoxMessage=GameObject.Find(“ChatBoxMessage”).GetComponent();unity中的gameobject。具有讽刺意味的是,如果我将FinalMessage=Message+“\n”;chatfeads.add(FinalMessage);添加到onGUI()并使用InputField中的文本,它会添加\n,整个操作都会正常进行。但我无法将其添加到列表中,因为添加到列表中的字符串位于不同的类中。