我在第一次使用c#中的except关键字,而且我一直在为此苦苦挣扎。如果可能的话,请你看看我的功能,让我知道我的错在哪里。在c#中使用除了关键字#
我需要返回数组的字符串。 indivEmails1和个人邮件2包含一组电子邮件ID。我需要返回一个不在个人邮件2中但不在个人邮件1中的电子邮件ID。但它必须是一串数组。
public string[] getNewCCEmailsIDs(WorkOrderModel model)
{
string[] emailids = null;
var result = _db.WorkOrders
.Where(w => w.idWorkOrder == model.idWorkOrder && w.idCompany == model.idCompany)
.Select(w => new {w.Status, w.ExternalEmails});
if (dbItem.Status == (int) WorkOrderStatus.Approved)
{
string NewCCEmail = "";
var comEmails1 = dbItem.ExternalEmails.Trim(';');
string[] indivEmails1 = comEmails1.Split(';');
string comEmails2 = model.ExternalEmails.Trim(';');
string[] indivEmails2 = comEmails2.Split(';');
IEnumerable<string> emailsToAdd = indivEmails2.Except(indivEmails1);
//NewCCEmail = emailsToAdd;
}
if (NewCCEmail != "") // when client delete an email id from CC and press save.
emailids = NewCCEmail.Split(';');
}
return emailids;
}
我正在下面的错误。我看过eveywhere,但没有运气。
Error 54 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<string>' to 'string[]'. An explicit conversion exists (are you missing a cast?) C:\Users\Bakul\Documents\GitHub\Maxpanda\Maxpanda\Controllers\WorkOrderController.cs 930 25 Maxpanda
任何帮助将非常感激。
谢谢。
.ToArray()也许? –
只需添加'indivEmails2.Except(indivEmails1).ToList();'你就可以看到它会正常工作.. – Bharat
'Except'不是一个“关键字”,它只是一个常规的扩展方法 - [Enumerable.Except]( https://msdn.microsoft.com/en-us/library/system.linq.enumerable.except(v=vs.110).aspx)。 –