【发布时间】:2015-11-19 02:19:55
【问题描述】:
我只想检查用户是否在数组中输入了邮政编码,但出现错误;请帮忙。
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace checkzips
{
class Program
{
public static object f;
public static void Main(string[] args)
{
// create an integer array for package delivery service
int[] zipcodes = { 07847, 07848, 07866, 07801, 07808, 07898, 07836, 07854, 07823, 07845 };
// display original values of array
Console.WriteLine("All zip codes to which the company delivers packages:");
foreach (var elements in zipcodes)
Console.WriteLine("{0}", elements);
// prompt a user to enter a zip code
Console.WriteLine("Enter a zipcode:");
Console.ReadLine();
// search the array using foreach loop
Console.WriteLine("", f.zipcodes.Contains(Console.ReadLine()) ? string.Empty : "not");
}
}
}
我在最后一个 Console.WriteLine 语句中遇到错误:
错误 CS1929 'int[]' 不包含 'Contains' 的定义和 最佳扩展方法重载“Queryable.Contains(IQueryable, string)”需要“IQueryable”checkzips 类型的接收器
H:\checkzips\checkzips\Program.cs 23
【问题讨论】:
-
当你将几个逻辑操作塞进一行代码中时,很难理解和调试......正如你所发现的那样。
-
您不想将第一个 Console.ReadLine() 存储到一个变量中并在下一行中使用它吗?还是省略第一个 readline 而只使用第二个?
-
它就像最后一行中的三元运算符来检查邮政编码是否在该数组中,但我得到错误
-
我尝试使用变量,但它是同一件事@devlincarnate
-
邮政编码不应被视为数字,因为邮政编码以 0 开头是完全合法的。这将在数字转换中被删除。