c# - 解析具有名称-值对的字符串

标签 c# asp.net-mvc parsing linq-to-sql

如何在 C# 中解析以下名称-值对字符串:

string studentDetail = "StudentId=J1123,FirstName=Jack,LastName=Welch,StudentId=k3342,FirstName=Steve,LastName=Smith"

解析此数组的目的是使用 Linq to SQL 在 DB 中插入值:

[HttpPost]
public ActionResult SaveStudent(string studentDetail)
{
    DataContext db = new DataContext();         

    Student student = new Student();
    {
        student.StudentID = //StudentID
        student.FirstName = //FirstName
        student.LastName = //LastName
    };

    db.Student.InsertOnSubmit(student);
    db.SubmitChanges();

    return View();
}

解决这个问题的最佳方法是什么?

最佳答案

您可以按逗号拆分,然后按等号拆分。我将数据放入字典中以便于访问。

string input = "StudentId=J1123,FirstName=Jack,LastName=Welch";

Dictionary<string,string> keyValuePairs = input.Split(',')
  .Select(value => value.Split('='))
  .ToDictionary(pair => pair[0], pair => pair[1]);

string studentId = keyValuePairs["StudentId"];

请注意,这根本不会验证输入以确保值中没有逗号、没有没有值的键、缺少键等。

关于c# - 解析具有名称-值对的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673731/

相关文章:

c# - 将请求特定的对象从自定义身份验证过滤器共享到 Controller /模型

asp.net-mvc - 如何使用 asp.net mvc View 模型和数据注释属性保持 DRY?

c# - PlotView 和 Plot 之间有什么不同?

c# - C# 编译器是否足够智能来优化此代码?

c# - 任务层次结构示例未按预期工作

javascript - 如何从 View (MVC) 上的输入控件获取值

asp.net-mvc - ASP.NET MVC - 混合自定义和默认模型绑定(bind)

bash - 如何从 bash 中读取整行

python - 导入后ANTLR4语法标记识别错误

c# - 递归树映射