- 1
- 2
- 3
- 4
while (true) {
Console.WriteLine(answer);
answer = process.StandardOutput.ReadLine();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+127
while (true) {
Console.WriteLine(answer);
answer = process.StandardOutput.ReadLine();
}
Человеку нужно просто считывать команды (строки) из консоли. Делает через жопу.
+138
public void Delete(CommonType type)
{
label1:
Console.Write("Enter the title of the book: ");
string title = Console.ReadLine();
if (title == type.Title)
{
cmainlibrary.Remove(type);
Console.Write("Success");
Console.Read();
goto label1;
}
else
{
goto label1;
}
}
+136
// http://msdn.microsoft.com/en-us/library/dya2szfk%28v=VS.71%29.aspx
If x = True Then ' Compares x to the Boolean value True.
' Insert code to execute if x = True.
Else
' Insert code to execute if x = False.
End If
http://msdn.microsoft.com/en-us/library/dya2szfk%28v=VS.71%29.aspx
Учебник по языку, да
+133
string[] res = value.Split("$".ToCharArray(), StringSplitOptions.None);
+139
Assert.That(users.Count(), Is.EqualTo(Enumerable.Empty<User>().Count()));
+140
private void SendFile(string root, string url, DateTime dateTimeBegin)
{
if ( ... isSend ... )
{
...MoveToArchive();
...Dispose();
}
else
{
SendFile(root, url, dateTimeBegin);
}
}
Ну тут всё ясно...
Если файлики отсылаются нормально, то всё работает хорошо.
Зато если файлики не отсылаются, то начинается злая рекурсия, которая постепенно сжирает всю память :).
+141
internal static double GetExtendedFromBytes(byte[] bytes)
{
/*
1 15 1 63
s e i f
The value v of the number is given by:
if 0 <= e < 32767, then v = (-1)s * 2(e-16383) * (i.f)
if e = 32767 and f = 0, then v = (-1)s * Inf
if e = 32767 and f <> 0, then v is a NaN
*/
const int memSize = 10;
if (bytes == null)
throw new ArgumentNullException("bytes");
if (bytes.Length != memSize)
throw new ArgumentException("Must be " + memSize + " bytes", "bytes");
int s = bytes[0] >> 7;
int e = 0x7FFF & ((bytes[0] << 8) | bytes[1]);
int i = bytes[2] >> 7;
ulong f = (ulong)(0x7F & bytes[2]);
for (int j = 3; j < memSize; j++)
{
f <<= 8;
f |= bytes[j];
}
decimal df = (decimal)f / 10000000000000000000 /* 10^19 */; // число f в формате 0.f
double v;
if (0 <= e && e < 32767)
{
int pow = e - 16383;
decimal c = (s == 0 ? 1 : -1) * (decimal)Math.Pow(2, pow);
decimal dv = c * (i + df); // значение, полученное по формуле для x86 Extended Precision Format
if (f != 0) // HACK при вычислении по формуле искомое значение не удается получить - исправляем
{
const decimal mn = 0.0776627963145224192m; // magic number, при значениях отличных от 2^x возникает разница кратная этому значению
decimal delta = Math.Abs(dv - c);
decimal add = 0;
if (pow >= 4)
add = Math.Round(delta * 1.0842021724855044340074528009m); // еще magic number
else if (pow >= 2)
add = Math.Ceiling(delta);
else if (pow >= 0)
add = Math.Ceiling(delta * 10) / 10m;
else
{
decimal m = 10m * (decimal)Math.Pow(2, Math.Abs(pow));
add = Math.Ceiling(delta * m) / m;
}
if (dv > 0)
dv += add * mn;
else
dv -= add * mn;
}
v = (double)dv;
}
else if (e == 32767)
{
if (f == 0)
v = s == 0 ? double.PositiveInfinity : double.NegativeInfinity;
else
v = double.NaN;
}
else
{
throw new ArgumentOutOfRangeException("bytes");
}
return v;
}
Местные индусы постарались. Перевод 80 bit floating point в double. Причём если прочитать спецификацию IEEE-754, то код займет 3-4 строчки с простыми битовыми операциями.
+142
/// <summary>
/// Убирает прибамбасы, такие как формат, кондишены и т.д.
/// </summary>
public virtual void ClearFutures()
{}
Да просто пиздец всему будущему при вызове метода.
+104
[Obsolete( "Пока не потдерживается" )]
Каких шта приставки русски язык?
+108
if (!"12345".Contains(Model.quarter.ToString()))
{
m1 = m2 = m3 = "ошибка";
}
Немного восхитительного кода утром в понедельник.
Тип данных Model.quarter Int32. Код из шаблона Razor