【问题标题】:How to convert comma separated string values into a List<string> using asp.net mvc5 [duplicate]如何使用 asp.net mvc5 将逗号分隔的字符串值转换为 List<string> [重复]
【发布时间】:2017-06-08 16:02:55
【问题描述】:

想要将逗号分隔的字符串值转换为列表

试过了

public List<string> GetColumnNamesByReportname(string Reportname)
{
    using (var Context = new MCPEntities())
    {
        var ColumnNames = Context.Reports.Where(c => c.ReportName == Reportname).Select(c => c.ColumnNames).ToList();
        return ColumnNames; 
    }
}

【问题讨论】:

  • 使用 Nuget 包:CSVHelper
  • 嗨...您的代码很好!你有什么问题?您拆分的 ColumnNames 的内容是什么!
  • List ReportColumnsList = DBFunctionOBj.GetColumnNamesByReportname(Reportname);这里在 ReportColumnsList 中获取逗号值。需要显示分隔值
  • @VenkataSeshu - 这是返回一个字符串列表?!不是逗号分隔的列表!
  • 是的..需要在列表框中转换单独的值

标签: asp.net-mvc entity-framework


【解决方案1】:

看看这个:

public ActionResult Index()
{
      //Your original string
      string yourCommaDelimitedString = "TN,KA,KL";

      //Use the String.Split() method to break the string into an array containing all of your values and then
      //convert it to a List using the Enumerable.ToList() method
      List<string> yourValues = yourCommaDelimitedString.Split(',').ToList();

      //Add your values to the ViewData to be bound to a DropDown
      ViewData["Options"] = new SelectList(yourValues);

      return View();
}

【讨论】:

    【解决方案2】:

    试试这个……

     public static void Main(string[] args)
                {
                    //Your code goes here
                    string a="a,b,c,d";
    
                  List<string> abc=a.Split(',').ToList();
                    foreach(var item in abc){
                        Console.WriteLine(item);}
                }
    

    【讨论】:

    • 获取Split()需要添加任何命名空间
    • 你只需要@using System;
    • 只是想补充一点,您可以使用a.Split(new char[]{ ',' }, StringSplitOptions.RemoveEmptyEntries) 如果您想摆脱列表中最终的空字符串。例如"aa,bb,,cc,dd" 将产生["aa", "bb", "cc", "dd"] 而不是["aa", "bb", "", "cc", "dd"]
    【解决方案3】:

    假设我们有一个名为“Report”的类,它有一个名称和一个 CSV 格式的列名列表。

    public class Report
    {
        public string ReportName { get; set; }
        public string ColumnNames { get; set; }
    }
    

    然后我们有一个名为“Context”的类,它包含一个报告列表。

    public class ContextClass
    {
        public List<Report> Reports { get; set; }
    }
    

    然后我们用一个名为“Report1”的新报告初始化 Context 类,它有 3 列并将其添加到列表中

     var Context = new ContextClass();
     Context.Reports = new List<Report>();
     Context.Reports.Add(new Report()
     {
          ReportName = "Report1",
          ColumnNames = "Col1,Col2,Col3"
     });
    

    然后在您的方法的上下文中,传入一个名为“Report1”的“ReportName”

     var ReportName = "Report1";
    

    然后我们可以根据您发布的原始代码将值作为字符串列表返回"

     var ColumnNames = Context.Reports.Where(c => c.ReportName == ReportName).Select(c => c.ColumnNames.Split(',')).ToList();
     return ColumnNames
    

    我已经在本地测试过,效果很好。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 2019-08-08
      • 2012-02-03
      • 1970-01-01
      相关资源
      最近更新 更多