为什么IndexOf不能与StringCompare一起工作?

本文关键字:一起 工作 StringCompare IndexOf 不能 为什么 | 更新日期: 2023-09-27 18:15:37

我得到这个错误

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

错误提示"无法从系统转换"。StringComparison to int"。但是我知道有一个方法indexOf(string)的过载,它接受StringComparison类型的参数。那么我该如何解决这个问题呢?

为什么IndexOf不能与StringCompare一起工作?

首先,您应该使用==进行比较。

第二,所有第一个参数为charIndexOf重载,第二个参数为int。这就是为什么会出现错误。为了使用接收StringComparison的过载,将第一个参数设置为string,如下所示:

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

BTW,你试图从字符串中删除元音吗?我建议你试试这个

你的循环似乎很奇怪…你是认真的吗?

foreach(string ssub in lokacija.Naziv) {
  if(v.indexOf(ssub, StringComparison.CurrentCultureIgnoreCase) = -1)
    s+=ssub;

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