网站上有一个PHP脚本。我还有一个C#winforms程序,它使用WebRequest / WebResponse方法发送POST消息。
这个PHP脚本连接到mysql数据库,抓取一些数据并将其发送回WinForms应用程序。数据格式如下:
约翰,32岁,可能
彼得,24岁,6月等。
所有这些文本都作为单个字符串发送。 将此字符串解密为字符串列表[]的最佳方法是什么?
现在我正在使用自制方法。 PHP脚本执行以下操作:
首先我们用“,”
然后我们用“|”
当我收到消息时,我将其分为使用“|”的列表信
List<string> names = input.Split('|').ToList<string>();
然后我将每个字符串分成列表:
List<string[]> namestwo = new List<string[]>();
foreach (string str in names)
{
string[] sep = str.Split(',').ToArray();
namestwo.Add(sep);
}
我认为有更好的方法可以做到这一点。
答案 0 :(得分:0)
你的一般方法很好。在发送这样的数据时使用分隔符是很常见的。显然,您需要确保您的数据中不会包含任何逗号(',')或管道('|'),或者您正确地转义这些字符然后在解析时正确处理它。如果您发现自己有很多逗号或管道,可以考虑使用其他分隔符(选项卡是一个不错的选项,因为您通常可以用一些空格替换数据中的所有选项卡而不是转义它们。)
如果您愿意,可以稍微清理一下代码。这样的事情对我来说看起来更好,但它从根本上做同样的事情:
var result = input.Split('|')
.Select(line => line.Split(',').ToList()).ToList();