1

我收到这个错误

    string v = "aeiou";
    foreach(int i in lokacija.Naziv) {
      if(v.indexOf(lokacija.Naziv[i], StringComparison.CurrentCultureIgnoreCase) = -1)
        s+=lokacija.Naziv[i];
    }

错误说“无法从 System.StringComparison 转换为 int”。但我知道 indexOf(string) 方法有一个重载,它接受 StringComparison 类型的参数。那么我该如何解决呢?

4

3 回答 3

2

首先,您应该==用于比较。

其次,所有IndexOf第一个参数是 a 的重载char,它们的第二个参数是 a int。这就是为什么你得到那个错误。为了使用接收 a 的重载StringComparison,使第一个参数 a string,如下所示:

if (v.indexOf(lokacija.Naziv[i].ToString(), StringComparison.CurrentCultureIgnoreCase) == -1)

顺便说一句,您是否要从字符串中删除元音?我建议你试试这个

于 2015-10-01T03:08:08.577 回答
0

你的循环看起来很奇怪......你是这个意思吗?

foreach(string ssub in lokacija.Naziv) {
  if(v.indexOf(ssub, StringComparison.CurrentCultureIgnoreCase) = -1)
    s+=ssub;
于 2015-10-01T01:27:00.293 回答
0

@Johnathan-Lonowski 一针见血——你得到的是这个版本的 String.IndexOf,而不是这个版本,因为你正在寻找一个字符串中的一个字符,而不是另一个字符串中出现的一个字符串。

于 2015-10-01T01:27:59.140 回答