回答
您可以使用Array.IndexOf()
此:
if (Array.IndexOf(vowels, i) >= 0)
{
// the character is present
}
我会使用LINQ:
arr.Select(c => vowels.Contains(c));
为了得到字符数,您可以使用Count
方法,而不是Select
。 如果你想知道是否有元音,那么使用Any
- 只要找到第一个匹配就会终止。
arr.Any(p => vowels.Contains(p));
更新: 要计算可能使用的匹配数量;
int count = arr.Where(p => vowels.Contains(p)).Count();
_count_在哪里? – 2012-04-02 07:47:21
在问题计数没有问,但你可能会发现使用int count = arr.Where(p => vowels.Contains(p))。计数(); – daryal 2012-04-02 07:50:52
问题要求计数:**程序检查并计算元音数量** – fearofawhackplanet 2012-04-02 08:06:15
你可以做的是创造元音字符的列表,然后使用.contains方法。
试试这个:
if (vowels.Contains(i))
{
counter++;
}
您可以使用LINQ为!
bool anyMatches = arr.Intersect(vowels).Any();
,或者,如果你想要的比赛:
var matches = arr.Intersect(vowels).ToList();
编辑:
或数匹配的确切数目:
int count = arr.Count(x => vowels.Contains(x));
这个计数不同元音的数量,不是元音的总数(“woot”产生一个'o') – 2012-04-02 07:51:24
这是一个问题?? – 2012-04-02 07:51:59
是的,看看提交的代码 - 对于arr中的每个角色,他想检查另一个数组以查找匹配。 – 2012-04-02 07:56:03
只需用两个foreach
回圈
foreach(var i in arr)
{
foreach(var j in vowels)
{
if(i==j)
{
counter++;
}
}
}
使用此LINQ查询
var q=from c in s
where vowels.Contains(c)
group c by c into g
select new {vowel=g.Key, count=g.Count()};
那么你可以重复做什么,你的内容
例如喜欢
foreach (var x in q) {
Console.WriteLine(String.Format("{0} : {1}",x.vowel,x;count));
}
Hash<char> vowels = //initialize to vowels.
foreach(char c in input)
{
if(hashset(vowels) contains the character)
increment counter.
}
return counter.
- 1. 比较两个数组C++
- 2. 比较两个数组的匹配值
- 3. 如何比较两个数组的值?
- 4. 比较两个数组的值
- 5. 比较两个数组之间的值
- 6. PHP - 比较两个数组的值
- 7. 比较两个数组的值
- 8. 比较两个数组中的比特
- 9. 比较两个JavaScript数组?
- 10. 如何比较两个数组C++
- 11. C++比较两个多维数组
- 12. C#比较两个字符串数组
- 13. Octave比较两个数组
- 14. 比较两个数组和返回值
- 15. 比较两个数组值CGRectIntersectsRect
- 16. 比较两个数组
- 17. PHP - 比较两个数组
- 18. 比较两个数组?
- 19. PHP比较两个数组?
- 20. angularjs比较两个数组
- 21. Android比较两个数组?
- 22. 比较两个数组
- 23. jquery !!比较两个数组?
- 24. 比较j2me中的两个int数组?
- 25. 比较as3中的两个数组
- 26. 比较两个数组中的元素
- 27. 比较两个数据表中的c#
- 28. 比较两个表中的两个值
- 29. 比较两个组合框的值
- 30. 在Python中比较两个数组的值
我在LINQ没有知识的,因为现在我在初学阶段,我只是学习,如果C#。但是,感谢那些信息。我会记住这一点。这似乎更容易。 – Isuru 2012-04-02 08:01:40