Каждый раз, когда я запускаю этот код, мои переменные подсчета всегда начинаются с 48. У меня их явно инициализировано на 0. Я предполагаю, что это имеет какое-то отношение к чтению в моей переменной char? Я запихнул ввод ввода как строку и преобразовал его в char?Почему мои счетные переменные не отображают нуль? C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
namespace CountLowers
{
class Program
{
static void Main(string[] args)
{
char choice;
int otherCounter = '0';
int lowerCounter = '0';
do
{
WriteLine("Enter an Upper or Lower Case Charactor");
Write("or Enter the '}' key to stop and view results > ");
choice = Console.ReadKey().KeyChar;
if (Char.IsLower(choice))
{
WriteLine("\n\n\t" + choice + " is a Lower Case Character\n");
lowerCounter = lowerCounter + 1;
}
else if (choice != '}')
{
WriteLine("\n\n\tYou did not enter a Lower Case Character\n");
otherCounter = otherCounter + 1;
}
else
{
WriteLine("\n\n\tRESULTS\n");
WriteLine("You typed in " + lowerCounter + " Lower Case Charactors");
WriteLine("\nYou typed in " + otherCounter + " Other Charactors");
}
} while (choice != '}');
Console.ReadKey();
}
}
}
'int otherCounter = '0';' как это собирается компилироваться? C# очень строгий, что он не будет скомпилирован, если у него есть ошибка, и это ошибка – Beginner
@Beginner Неявный перевод из 'char' в' int' – Vache
Работает ли это или нет ... Зачем вам это делать? Просто используйте номер ноль. –