嗨我有一些麻煩我有一個非常簡單的腳本任務在SSIS中。這是第一次用LINQ困惑爲什麼IEnumerable工作無效參數
string iFileName = (string)(Dts.Variables["iFileName"].Value);
string oFileName = (string)(Dts.Variables["oFileName"].Value);
try
{
// string[] lines = File.ReadAllLines(@"\\Fcwdsqlanl01\e$\SQL_OLAP\Log\Billing_2.log");
IEnumerable<string> stringsOut = File.ReadAllLines(iFileName)
.Where(line => (char.IsDigit(line, 0)) && line.Contains(","))
.Select(line => line);
File.WriteAllLines(oFileName, stringsOut);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
這是我得到
最好重載匹配的錯誤「System.IO.File.WriteAllLines(字符串,字符串 [])」有很多無效的論點。
我不明白爲什麼它有一個參數問題,因爲我用它與ReadAllLines相同的方式。我已經檢查並且stringsOut變量保存着我想要的字符串數組。我意識到有這樣做的方法不使用WriteAllLines,但我想這樣做,假設我缺少一些簡單的東西。
您可能需要使用,需要一個'字符串[]'(只是調用'ToArray的過載()'在端)因爲['IEnumerable'重載](http://msdn.microsoft.com/zh-cn/library/dd383693.aspx)是.NET 4中的新增功能。您使用的是什麼框架版本? –
2013-03-11 16:07:36
我永遠不會理解爲什麼人們使用SSIS並在腳本任務中完成所有工作 – msmucker0527 2013-03-11 16:09:41
您的「選擇」方法沒有做任何事情;它應該被刪除。 – Servy 2013-03-11 16:28:11