WriteLineAsync错误

时间:2018-02-12 21:13:45

标签: c# linq async-await

我有这个代码,我试图将JSON对象转换为CSV文件:

 private async Task WriteListrackClient (SyncConfig settings, ISyncMonitor monitor)
   {
       ICollection<OrderComposite> orders = null;
       string jsonOrders = File.ReadAllText(settings.productJsonConfig.FullJSONOrderFilePath);
       orders = JsonConvert.DeserializeObject<ICollection<OrderComposite>>(jsonOrders);
       using (StreamWriter writer = File.CreateText(settings.listrakProductFeed.ListrakCustomersFileLocation))
       {
           await writer.WriteLineAsync((orders.Select(x => string.Join(",",x.Customer.EmailAddress.ToString(), x.OrderId.Value.ToString(), x.DateCreated.Value.ToString(), x.TotalSalePrice.Value.ToString(), x.TotalSaleTax.Value.ToString(),0,0,"","","","",x.TotalDiscount.Value.ToString(),"online"))));
       };
   }

我得到两个错误,我需要一些帮助。第一个是在writer.WriteLineAsync方法上。它是:'System.IO.TextWriter.WRiteLineAsync(char [])的最佳重载方法匹配具有一些无效参数。

第二个是订单。选择语句:参数1:无法从'System.Collections.Generic.IEnumerable'转换为'char []'

在我看来,第二个错误是第一个错误的结果。正如您所见,我正在尝试使用LINQ来提取值。谁能看到我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:-2)

目前的格式很难看到,但我认为至少部分问题是你没有做过#34;。ToArray()&#34;在你的&#34; .Select()&#34;

之后