Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串拆分ASP.NET/C#_C#_Asp.net_Linq - Fatal编程技术网

字符串拆分ASP.NET/C#

字符串拆分ASP.NET/C#,c#,asp.net,linq,C#,Asp.net,Linq,我正在处理CSV文件 说 我正在运行LINQ以拆分CSV var path = Server.MapPath("~/App_Data/CSV.txt"); var _collectCSGData = from line in File.ReadAllLines(path) let parts = line.Split('|') select new { ID = parts[0],Assignment=pa

我正在处理CSV文件

我正在运行LINQ以拆分CSV

var path = Server.MapPath("~/App_Data/CSV.txt");
var _collectCSGData = from line in File.ReadAllLines(path)
                      let parts = line.Split('|')
                       select new { ID = parts[0],Assignment=parts[1]};
如何获取每行的最后一项

(即)

比如:

parts[parts.length -1]
我们应该做到这一点

var _collectCSGData = from line in File.ReadAllLines(path) 
                      let parts = line.Split('|') 
                      let assignment = parts[parts.length - 1]
                       select assignment;
这应该是可行的,如果你需要按摩数据,
是你的朋友

更新:

由于零件可能为空,您可以:

let assignment = parts.length > 0 ? parts[parts.length - 1] : String.Empty

如果您知道这是第三部分,那么在匿名构造函数中添加以下内容如何:

var _collectCSGData = from line in File.ReadAllLines(path)
                      let parts = line.Split('|');
                      select new 
                         {ID = parts[0], Assignment = parts[1], Data = parts[2]};
或者,如果它只是“最后一项,不管有多少项”


这看起来更像是管道分隔的文本,而不是CSV。@Stephen Cleary-如果它是由列分隔的,那么人们似乎只称它为CSV,而不考虑分隔符,因为它可以轻松导入Excel。+1-好的,这看起来是一个很好的答案。我从来没有使用过这个函数。@Steven Sudit-True,但您只需检查一下:parts.length>0?零件[零件长度-1]:“”
let assignment = parts.length > 0 ? parts[parts.length - 1] : String.Empty
var _collectCSGData = from line in File.ReadAllLines(path)
                      let parts = line.Split('|');
                      select new 
                         {ID = parts[0], Assignment = parts[1], Data = parts[2]};
var _collectCSGData = from line in File.ReadAllLines(path)
                      let parts = line.Split('|');
                      select new 
                        {ID = parts[0], Assignment = parts[1], Data = parts[part.length-1]};
from line in File.ReadAllLines(path)
select line.Split('|').LastOrDefault()