【发布时间】:2015-12-12 10:21:22
【问题描述】:
我有一个客户端/服务器程序,客户端将 [进程 ID、主机名、应用程序名称、文件路径] 发送到服务器。现在,它们以一个字符串的形式发送。我为每个变量分配了一个唯一的字符
data = "--++" + " " + "__-_" +processFileName + " " + "--" +processMachinename + " " + ".." + processID + " " + "_--_" + processPath;
输出将是(下面的示例)
--++ __-_Client_PC (Running) - Microsoft Visual C# 2010 Express --UNICORNV-FA15C8 ..4408 _--_C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\VCSExpress.exe
我尝试过Trim,但它会给我一个错误“对象引用未设置为对象的实例。”
else if (recvDt.Contains("--++"))
{
string d = "--++";
recvDt = recvDt.TrimStart(d.ToCharArray());
this.Invoke(new rcvData(addToOutput));
if (recvDt.Contains("__-_"))
{
string fn = "__-_";
fileName = recvDt.Trim(fn.ToCharArray());
this.Invoke(new rcvData(addToGrid));
}
if (recvDt.Contains("--"))
{
string m = "--";
machineName = recvDt.Trim(m.ToCharArray());
this.Invoke(new rcvData(addToGrid));
}
if (recvDt.Contains(".."))
{
string di = "..";
processID = recvDt.Trim(di.ToCharArray());
this.Invoke(new rcvData(addToGrid));
}
if (recvDt.Contains("_--_"))
{
string p = "_--_";
filePath = recvDt.Trim(p.ToCharArray());
this.Invoke(new rcvData(addToGrid));
}
}
}
Thread.Sleep(1000);
}
}
public void addToGrid()
{
if (fileName != null && fileName != "" && machineName != null && machineName != "" && processID != null && processID != "" && filePath != null && filePath != "")
{
dataGridView1.Rows.Add(fileName, machineName, processID, filePath);
fileName = null;
machineName = null;
processID = null;
filePath = null;
}
我应该如何删除那些唯一字符并将它们显示在 dataGridView 中?
【问题讨论】:
标签: c# .net winforms client-server trim