gpt4 book ai didi

c# - 如何将字符串行转换为类

转载 作者:行者123 更新时间:2023-12-04 07:55:35 28 4
gpt4 key购买 nike

我将类对象转换为字符串行
如下例所示

    public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string Address { get; set; }
public override string ToString()
{
return $"{ID}|{Name}|{Surname}|{Address}";
}
}

Person person = new Person();
person.Name = "test1";
person.Surname = "test2";
person.Address = "test3";

var _String = person.ToString();
Console.WriteLine(_String);
这是输出
0|测试1|测试2|测试3
我想将行 (0|test1|test2|test3) 转换为类对象
对 dotnet 标准 2.0 执行此操作的最佳方法是什么

最佳答案

如果你查什么 _String.Split('|')返回,你会看到它给出了 string[] .这个字符串数组包含 _String 的每一部分两边|字符,所以:

var person = new Person()
{
ID = 1,
Name = "James",
Surname = "Smith",
Address = "James's Road 123"
};

var _String = person.ToString(); // "1|James|Smith|James's Road 123"

var stringSplit = _String.Split("|"); // ["1", "James", "Smith", "James's Road 123"]
现在,您拥有要创建的人的所有 4 个部分,因此现在您可以重新创建该人:
var recreatedPerson = new Person()
{
ID = stringSplit[0],
Name = stringSplit[1],
Surname = stringSplit[2],
Address = stringSplit[3]
}
您可能会注意到人的第一行将失败( ID = stringSplit[0] ),因为 stringSplit[0]string ,但是 ID期待 int .所以要转换一个 stringint我们需要解析它:
ID = int.Parse(stringSplit[0])
请记住,如果您不给原始人一个 ID字符串数组也不会有 ID,在这种情况下,上述解析将失败。但我会让你考虑如何处理。
编辑:正如对您的问题的评论中所述,如果这不仅仅是学习 C# 的一个小练习,并且您真的正在寻找将对象转换为字符串的正确方法,反之亦然,您应该考虑使用序列化您的对象JSON、XML 或类似格式。

关于c# - 如何将字符串行转换为类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66727372/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com