- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
foreach (var r in rezList)
{
int newId = rnd.Next();
rez.Add(new FileItem()
{
Id = newId,
/* ..... */
});
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
foreach (var r in rezList)
{
int newId = rnd.Next();
rez.Add(new FileItem()
{
Id = newId,
/* ..... */
});
}
Новый способ генерирования ID...
−1
_colorFlashlightAnimation = compositor.CreateExpressionAnimation(
"1.0 - min("
+ " 1.0,"
+ " ("
+ " ("
+ " ( frame.Offset.x + (frame.Size.x * 0.5) + grid.Offset.x - (windowWidth * 0.5) )"
+ " * ( frame.Offset.x + (frame.Size.x * 0.5) + grid.Offset.x - (windowWidth * 0.5) )"
+ " ) + ("
+ " ( frame.Offset.y + (frame.Size.y * 0.5) + grid.Offset.y - (windowHeight * 0.5) )"
+ " * ( frame.Offset.y + (frame.Size.y * 0.5) + grid.Offset.y - (windowHeight * 0.5) )"
+ " )"
+ " ) / ( radius * radius )"
+ ")");
Удивитесь, но это Microsoft
https://github.com/Microsoft/WindowsUIDevLabs/blob/master/Demos/SlideShow/SlideShow/TransitionLibrary.cs
+5
class Program {
static void Main(string[] args) {
AppInstance.Get().DoMain(IOMain);
}
static IO<None> IOMain() {
return
from _ in IO.Do(() => Console.WriteLine("What is your name?"))
from name in IO.Do(() => Console.ReadLine())
let message = "Hi, " + name + "!"
from r in IO.Do(() => Console.WriteLine(message))
select r;
}
}
https://habrahabr.ru/post/282940
+7
using System;
public class Test
{
private static void Main(string[] args)
{
int d = 2147483647;
Console.WriteLine(d);
long g = 2147483647+d;
Console.WriteLine(g);
long k = new MyClass() + new MyClass();
Console.WriteLine(k);
}
public class MyClass
{
public static implicit operator int(MyClass m)
{
return 5;
}
public static implicit operator long(MyClass m)
{
return 100;
}
}
}
Типушня
+2
public static long NormalizeIp(this long ip)
{
var ipAddress = new IPAddress(Math.Abs(ip)).ToString();
return ipAddress.IpToLong();
}
static long IpToLong(this string ip)
{
double num = 0;
if (!string.IsNullOrEmpty(ip))
{
var ipBytes = ip.Split('.');
for (var i = ipBytes.Length - 1; i >= 0; i--)
{
num += ((int.Parse(ipBytes[i]) % 256) * Math.Pow(256, (3 - i)));
}
}
return (long)num;
}
Получаем IP вот таким вот методом - BitConverter.ToInt32(IPAddress.Parse(ip) .GetAddressBytes(), 0)
Приводим к типу long (неявным методом, т.е. long a = ip_address) и в таком виде сохраняем в базу как bigint (int64)
Затем берем его из базы и пытаемся провернуть с ним вот такой NormalizeIp
Печаль (
−2
Немного о пропертях
"Лично мне свойства не нравятся и я был бы рад, если бы в Microsoft решили убрать
их поддержку из .NET Framework и сопутствующих языков программирования."
"Я считаю, что разработчики используют свойства намного чаще, чем следовало
бы. Достаточно внимательно изучить список различий между свойствами и поля-
ми, чтобы понять: есть очень немного ситуаций, в которых определение свойства
действительно полезно, удобно и не запутывает разработчика. Единственная при-
влекательная черта свойств — упрощенный синтаксис, все остальное — недостатки,
в числе которых потеря в производительности и читабельности кода. Если бы я
участвовал в разработке .NET Framework и компиляторов, я бы вообще отказался от
свойств, вместо этого я предоставил бы разработчикам полную свободу реализации
методов GetXxx и SetXxx. Позже создатели компиляторов могли бы предоставить
особый упрощенный синтаксис вызова этих методов, но только при условии его
отличия от синтаксиса обращения к полям, чтобы программист четко понимал, что
выполняется вызов метода!"
Джефри Рихтер
Срач объявляется открытым
+5
using System;
namespace ConsoleApplication13
{
class Program
{
private static void Main(string[] args)
{
var s = new MyStruct(1);
Console.WriteLine(s);
s.Change(2);
Console.WriteLine(s);
((IChangable)s).Change(3);
Console.WriteLine(s);
var o = (IChangable) s;
((MyStruct) o).Change(4);
Console.WriteLine(o);
}
interface IChangable
{
void Change(int x);
}
struct MyStruct:IChangable
{
private int _value;
public MyStruct(int x)
{
_value = x;
}
public void Change(int x)
{
_value = x;
}
public override string ToString()
{
return "Value is " +_value;
}
}
}
}
Угадываем что выведет программа и почему
+6
public static List<string[]> split(string s)
{
bool ins = false;
int no = 3;
var L = new List<string>();
var Res = new List<string[]>();
var B = new StringBuilder();
foreach (var c in s)
{
switch (c)
{
case '§':
if (ins)
{
ins = false;
L.Add(B.ToString());
if (no == 0)
{
Res.Add(L.ToArray<string>());
L.Clear();
no = 3;
}
}
else
{
ins = true;
B.Clear();
}
break;
case '|':
if (!ins) { no--; }
else B.Append(c);
break;
default:
if (ins) B.Append(c);
break;
}
}
return Res;
}
Судя по наименованиям - типичная лаба школьника.
Однако, автор - Сошников - евангелист мелкософта. Тот самый, который F# пропагандирует (катается с одной и той же лекцией уже несколько лет по разным конференциям; и, кстати, принимают его всегда восторженно).
Пруф: http://stackoverflow.com/a/36888673/5045688
−10
using System;
namespace Program
{
public static class Brainfuck
{
public static void ExecuteBrainfuck(this string code)
{
byte[] buffer = new byte[1024];
int position = 0;
int whilePosition = 0;
checked
{
for (int i = 0; i < code.Length; i++)
{
char c = code[i];
if (c <= '<')
{
switch (c)
{
case '+':
{
byte[] expr_7D_cp_0 = buffer;
int expr_7D_cp_1 = position;
expr_7D_cp_0[expr_7D_cp_1] += 1;
break;
}
case ',':
buffer[position] = (byte)Console.Read();
break;
case '-':
{
byte[] expr_8F_cp_0 = buffer;
int expr_8F_cp_1 = position;
expr_8F_cp_0[expr_8F_cp_1] -= 1;
break;
}
case '.':
Console.Write((char)buffer[position]);
break;
default:
if (c == '<')
{
position--;
}
break;
}
}
else if (c != '>')
{
if (c != '[')
{
if (c == ']')
{
if (buffer[position] != 0)
{
if (code[i] == ']')
{
whilePosition++;
}
while (whilePosition != 0)
{
i--;
if (code[i] == '[')
{
whilePosition--;
}
if (code[i] == ']')
{
whilePosition++;
}
}
i--;
}
}
}
else if (buffer[position] == 0)
{
whilePosition++;
while (whilePosition != 0)
{
i++;
if (code[i] == '[')
{
whilePosition++;
}
if (code[i] == ']')
{
whilePosition--;
}
}
}
}
else
{
position++;
}
}
}
}
+4
IEnumerable<SmartCurrencyPriceRule> rules = _smartRuleService.GetCurrencyPriceRules(id).OrderBy(r => r.Title).ThenBy(r => r.Updated).ThenBy(r => r.Created);
var oldPriceRule = rules.SingleOrDefault(r => r.RuleId == postData.RuleId) ?? new SmartCurrencyPriceRule();
Давайте три раза отсортируем, а то мало ли что, а потом возьмём тот, у которого id совпадает.
Вот что значит - любит человек порядок.