using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace DiffCalc
{
public partial class newResult : Form
{
public newResult()
{
InitializeComponent();
}
private void newResult_Load(object sender, EventArgs e)
{
string s1 = "Have a very good";
string s2 = "Have a very good day, Joe";
IEnumerable<string> diff;
MatchCollection matches = Regex.Matches(s1, @"\b[\w']*\b");
IEnumerable<string> first = from m in matches.Cast<Match>()
where !string.IsNullOrEmpty(m.Value)
select TrimSuffix(m.Value);
MatchCollection matches1 = Regex.Matches(s2, @"\b[\w']*\b");
IEnumerable<string> second = from m in matches1.Cast<Match>()
where !string.IsNullOrEmpty(m.Value)
select TrimSuffix(m.Value);
if (second.Count() > first.Count())
{
diff = second.Except(first).ToList();
}
else
{
diff = first.Except(second).ToList();
}
}
static string TrimSuffix(string word)
{
int apostropheLocation = word.IndexOf('\'');
if (apostropheLocation != -1)
{
word = word.Substring(0, apostropheLocation);
}
}
}
}
生成错误
以下方法或属性之间的调用不明确:'System.Linq.Enumerable.Cast(System.Collections.IEnumerable)'和'System.Linq.Enumerable.Cast(System.Collections.IEnumerable)'
抛出此错误 matches.Cast() 第27行和类似的实例。任何帮助都会被暗示。