Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Проблема не е в Console.Read(). Проблема е, че ползваш Console.Read() неправилно :). Ще обясня:
Console.Read() взима следващия character, от input stream-a. Това означава, че ако напишеш string от character-и, например "-4", то Console.Read() ще вземе само "-" :). А стойноста ти е 45, понеже ASCII кода на "-" е 45 :).
За да вземеш число от конзолата и да го cast-неш към числов тип, можеш да ползваш Parse метода, на самите числови типове. Например, ако искаш да вземеш int стойност от конзолата, ще ползваш int myInt = int.Parse(Console.ReadLine()). Забележи, че ползвам Console.ReadLine(), която връща "the next line of characters", вместо "the next character", или иначе казано връща написаната на конзолата линия като стринг, а не само първия char от всичко написано.
Даааа, открих го преди час
Console.Write("Enter a character: ");
long ch = long.Parse(Console.ReadLine());
{
if (ch >= System.SByte.MinValue && ch <= System.SByte.MaxValue)
{
Console.WriteLine("This is a SBYTE type");
}
}
{
if (ch >= System.Byte.MinValue && ch <= System.Byte.MaxValue)
{
Console.WriteLine("This is a BYTE type");
}
}
{
if (ch >= -32768 && ch <= 32767)
{
Console.WriteLine("This is a SHORT type");
}
}
{
if (ch >= 0 && ch <= 65535)
{
Console.WriteLine("This is a USHORT type");
}
}
{
if (ch >= -2147483648 && ch <= 2147483647)
{
Console.WriteLine("This is a INT type");
}
}
{
if (ch >= 0 && ch <= 4294967295)
{
Console.WriteLine("This is a UINT type");
}
}
{
if (ch >= -9223372036854775808 && ch <= 9223372036854775807) - ТУК ГО ПРИЕ
{
Console.WriteLine("This is a long type");
}
}
{
if (ch >= 0 && ch < 18446744073709551614) - ТУК МИ КАЗА : struct System.UInt64 Represent a 64-bit unsigned integer. Eror: Operator "<" cannot applied to operands of type ""long" and "ulong"
{
Console.WriteLine("This is a long type");
}
}
Интересно ми е, защо тогава прие по-горе "operands < " за long ?
Като власите - на края на Дунава ... :)
Но пък поне разбрах за parse.
Грешката ти я изкарва, понеже променливата ch ти е от тип long, а се опитваш да я сравниш с тип ulong. Можеш да кастнеш ch към ulong в проверката и ще мине.
Тъкмо сега седнах.
Благодаря за съвета - получи се! :)
Няма голяма връзка с домашното, но ми стана интересно и...
Благодаря за отделеното време!
Някой зимен ден ще почерпя с кана вино! :)