gpt4 book ai didi

c# - 将字符串转换为结构的快速方法

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:13 24 4
gpt4 key购买 nike

你好我有这样的结构

typedef struct  
{
string firstname;
string lastname;
} person;

作为输入,我采用字符串列表 List<string>像这样

"firstname-lastname"

从输入字符串转换为 struct person 的最快方法是什么?可以使用 LINQ 来完成吗?

在这种情况下,字符串可能不包含“-”,字符串将保存在 person.firstname 中,而 person.lastname 为空。

希望我说清楚了。

非常感谢

最佳答案

我假设您来自 C++,因为命名和语法是 C++ 而不是 C#。在 C# 中,使用类是很自然的(您也可以使用 C# 结构 - 只需将 class 关键字更改为 struct):

class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}

通过该类,您可以使用 linq 来创建列表:

var people = (
from s in myList
let split = s.Split('-')
select new Person
{
FirstName = split.First(),
LastName = split.Skip(1).FirstOrDefault() ?? ""
}).ToList();

let 表达式使字符串拆分一次,然后重新使用拆分结果。

关于c# - 将字符串转换为结构的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997555/

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