[英]What is NZEC error in C# and where it is in following code snippet
這是我第一次遇到NZEC錯誤。 我不理解此錯誤,我只是發現它代表“非零退出代碼”。 但這意味着什么。 當我們得到這個錯誤。 我在一個在線編碼挑戰網站上而不是在Visual Studio中收到此錯誤。 我真的很需要幫助。 請檢查以下代碼段,我在哪里出現此錯誤,並建議我做錯了什么。
using System;
using System.Collections.Generic;
using System.Linq;
namespace PractiseConsoleApplication
{
internal class Program
{
private static void Main(string[] args)
{
//Get input
var stringInput = Console.ReadLine();
var numberOfRooms = Convert.ToInt32(Console.ReadLine());
var endOfInput = Convert.ToInt32(Console.ReadLine());
var customers = stringInput.ToArray();
var hotel = new Hotel(numberOfRooms);
foreach (var customerName in customers)
{
hotel.CheckInCheckoutCustomer(customerName);
}
Console.WriteLine(Convert.ToString(hotel.CustomersLeftWithoutStayingInHotel.Count));
}
}
internal class Hotel
{
public bool IsRoomAvailable { get; private set; }
public List<HotelRoom> Rooms { get; private set; }
public List<char> CustomersLeftWithoutStayingInHotel { get; private set; }
private Hotel()
{
Rooms = new List<HotelRoom>();
CustomersLeftWithoutStayingInHotel = new List<char>();
}
public Hotel(int numberOfRooms)
: this()
{
for (int i = 1; i <= numberOfRooms; i++)
{
Rooms.Add(new HotelRoom(i));
}
}
public void CheckInCheckoutCustomer(char customer)
{
if (CustomersLeftWithoutStayingInHotel.Any(f => f == customer))
{
return;
}
var existingCustomer = Rooms.FirstOrDefault(f => f.IsRoomAllocatedToCustomer && f.CustomerName == customer);
//Already room allocated to this customer
if (existingCustomer != null)
{
//checkout him
existingCustomer.CustomerCheckout();
}
else
{
//Get empty rooms
var emptyRoom = Rooms.FirstOrDefault(f => f.IsRoomAllocatedToCustomer == false);
if (emptyRoom != null)
{
emptyRoom.AllocateRoomToCustomer(customer);
}
else
{
CustomersLeftWithoutStayingInHotel.Add(customer);
}
}
}
}
internal class HotelRoom
{
public int RoomNumber { get; private set; }
public char? CustomerName { get; private set; }
public HotelRoom(int roomNumber)
{
RoomNumber = roomNumber;
CustomerName = null;
}
public bool IsRoomAllocatedToCustomer
{
get
{
return CustomerName.HasValue;
}
}
public void AllocateRoomToCustomer(char customerDetails)
{
CustomerName = customerDetails;
}
public void CustomerCheckout()
{
CustomerName = null;
}
}
internal class Customer
{
public char CustomerName { get; private set; }
public Customer(char name)
{
CustomerName = name;
}
}
}
正如Tony Hopkinson在評論中所說,main應該返回一個int。
將此語句放在main方法的末尾:
return 0;
這將以零代碼退出(因此非零退出代碼錯誤)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.