我试图迭代一个sting []并只获取尊重条件“包含”的记录。如何只选择包含条件的字符串记录使用Linq
我一直想这样的:
var lines = File.ReadAllLines("C:\\temp\\" + ReportPushFile("fileToSend_1.txt")).Where(i => i.Contains("BILL"));
但这再次回到我的所有记录,没有任何过滤。怎么了?
class Program : Logger
{
public static FTPclient Ftp = new FTPclient("ftp://smsftp.mobyt.it/", "C17053_004", "i7z0dx5b");
static void Main(string[] args)
{
List<Sms> sms = new List<Sms>();
sms.Add(new Sms() { recipient = "+393664528452" });
var lines = File.ReadAllLines("C:\\temp\\" + ReportPushFile("fileToSend_1.txt")).Where(i => i.StartsWith("BILL"));
// ...
}
public static string ReportPushFile(string NomeFile)
{
try
{
String LocalFileName = Ftp.ListDirectory("/reports/").Where(f => f.Contains(NomeFile)).OrderBy(x => new FileInfo(x).CreationTime).Max();
Ftp.Download("/reports/" + LocalFileName, "c:\\temp\\" + LocalFileName, true);
return LocalFileName;
}
catch(Exception ex)
{
return string.Empty;
}
}
}
尝试'i.StartWith(“Bill”);' – spajce 2013-03-01 14:05:24
您将得到的代码将*过滤。我怀疑你错误地诊断它。请提供一个简短但完整的程序来展示问题。 – 2013-03-01 14:05:59
我编辑了我的代码并添加了更多细节!我完美地工作,直到我们讨论的路线。我向我返回所有记录,并尊重我的意图。我发布的Linq产品线是不是应该如此运作! – 2013-03-01 14:11:31