首页 > 解决方案 > 如何解决此“是一个变量但像类型一样使用”错误?

问题描述

我需要使用for循环来检查数据库中的名称列表,并且需要与存储在本地驱动器上的列表的前两个字符串匹配,但出现以下错误:

nameMatch 是一个变量,但用作类型

我不知道如何解决这个问题。任何想法,将不胜感激。

public bool isLightOn(Person lstName, string nameMatch)
{
    if(nameMatch !=null)
    {
        var name = nameMatch.substring(0,2)
        var cService = new PersonService();
        var persons = cService.ListPersons();

        nameMatch = nameFound;

        foreach(nameMatch nm in persons)
        {
            nameMatch = nm;
            if(nm.LastName == name )
                //do something..
        }
    }
}

标签: c#stringvariablestypes

解决方案


有问题的行几乎可以肯定是这一行:

foreach(nameMatch nm in persons)

最有可能声明一个类型nm的变量,以遍历. nameMatchpersons

很难确定,因为您的问题实际上并未指定语言,但那将是我要寻找的第一个地方。

您应该弄清楚cService.ListPersons()(例如,字符串集合)返回的类型,并将其(例如,字符串)用作类型。

或者它可能是一种弱类型语言(如 Python 或 Javascript),其中变量可以旧有任何类型。在这种情况下,您根本不需要类型。


推荐阅读