-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
using System;
public class Test
{
class R { }
class A : R { }
class B : R { }
static void pituh(A x, R y){
Console.WriteLine("A R");
}
static void pituh(R x, B y){
Console.WriteLine("R B");
}
static void pituh(R x, R y){
Console.WriteLine("R R");
}
static void d(R x, R y)
{
dynamic a = x;
dynamic b = y;
pituh(a, b);
}
public static void Main(string[] args)
{
d(new A(),new R());
d(new A(),new B()); //Runtime error
d(new B(),new A()); //Runtime error
}
}
Пробуем мультиметоды в до-диезе.
https://ideone.com/Jm5LJA
3.14159265,
09 Марта 2018
-
0
- 1
- 2
- 3
- 4
// Имитируем бурную деятельность.
Thread.Sleep(500);
// В реальности здесь будут байты собранной dll-ки.
return Encoding.UTF8.GetBytes(_fileName);
https://github.com/UKST/compiler/blob/074760eb20a13238f1d358a27305617291351854/Compiler.Lib/Compiler.cs#L16
dm_fomenok,
09 Марта 2018
-
−1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
while(true)
{
i++;
if (i > Int32.MaxValue - 10)
{
MessageBox.Show("Зациклилось!");
break;
}
}
mazhuravlev,
22 Февраля 2018
-
−1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public static class TaskExtension
{
// Silences compiler warning: Because this call is not awaited,
// execution of the current method continues before the call is completed.
// Consider applying the 'await' operator to the result of the call
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void NoWarning(this Task task) { }
}
Коллеги добавили в код после введения правила treat warnings as errors
cherepets,
25 Января 2018
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
private void button1_Click(object sender, EventArgs e)
{
textBox3.Clear();
textBox4.Clear();
Stringstr = textBox2.Text;
String code = textBox1.Text;
int size = str.Length;
char[] s = newchar[size];
if (size == 0) { textBox4.Text = "Ошибка! Вы не ввели исходный текст для шифрования."; return; }
intsize C = code.Length;
char[] sC = new char[sizeC];
if (sizeC == 0) { textBox4.Text = "Ошибка! Вы не ввели ключевое слово."; return; }
int[] secret = new int[sizeC];
int[] string1 = new int[size];
for (inti = 0; i< size; i++)
s[i] = str[i];
for (inti = 0; i<sizeC; i++)
sC[i] = code[i];
int j = 0;
for (inti = 0; i<sizeC; i++)
{
j = 0;
while (j != kolAl)
{
if (sC[i] == Al[j]) { secret[i] = j + 1; break; }
j++;
}
}
for (inti = 0; i< size; i++)
{
j = 0;
while (j != kolAl)
{
if (s[i] == Al[j]) { string1[i] = j; break; }
j++;
}
}
char[] finish = newchar[size];
int x = 0;
for (inti = 0; i< size; i++)
{
if (Al.Length<= string1[i] + secret[x])
{
finish[i] = Al[string1[i] + secret[x] - Al.Length];
}
else { finish[i] = Al[string1[i] + secret[x]]; }
x++;
if (x == secret.Length) x = 0;
textBox3.Text += finish[i];
}
textBox4.Text = "Шифрованиезавершеноудачно!";
}
Одногрупница сделала Шифр Вижинера
https://ru.wikipedia.org/wiki/Шифр_Виженера
Беда в том, что код тоже представляет из себя шифр.
Сделал сам, получилось 4 строчки на зашифровку и 4 на расшифровку.
Я в шоке. Это отличница у нас (4 курс :) *:(*)
Ладно, это говнище еще можно понять и простить, только там расшифровка функция еще 200 строк, а так же шифровка и расшифровка файла, соответственно по 300 строк. Так и живем.
Я в академ отпуск.
GovnoIzJopy,
22 Декабря 2017
-
+1
- 1
var now = DateTimeOffset.Now.AddHours(-1);
Почти сейчас.
vladdy-moses,
16 Декабря 2017
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
class Задачи
{
public static ФормаМоделирование Форма;
public Задачи(ФормаМоделирование f)
{
Форма = f;
}
public static void ЗД_1()
{
bool Необход_рисов_первой_вертикальной = true;
int Tконца_отрисовки;
int тик_рисования;
int Т_С_буф=Общая_Память.Тсеанса.T1;
t1:
Системное_ПО.поток_1_старт.WaitOne();
тик_рисования = Общая_Память.Тик_Таймера;
Tконца_отрисовки = Общая_Память.Тик_Таймера + Общая_Память.Тсеанса.T1;
while (true)
{
#region Задача превысила Т сеанса
if (Системное_ПО.Задача_превысила_Т_сеанса.Т1)
{
Tконца_отрисовки = Общая_Память.Тик_Таймера;
Системное_ПО.Задача_превысила_Т_сеанса.Т1 = false;
Общая_Память.Тсеанса.T1 = Т_С_буф;
Общая_Память.Тсеанса.T1--;
}
#endregion
if (Общая_Память.Флаг_остановка_задачи.T1 == false)
{
#region Вывод первой вертикальной линии
if (Необход_рисов_первой_вертикальной)
{
for (double i = 0; i <= 1; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
Необход_рисов_первой_вертикальной = false;
}
#endregion
#region Вывод последней горизонтальной и вертикальной линии
if (Общая_Память.Тик_Таймера == Tконца_отрисовки)
{
for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
for (double i = 0; i <= 1; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
Необход_рисов_первой_вертикальной = true;
Системное_ПО.Задача_выполняется.Т1 = false;
// Общая_Память.Тсеанса.T1++;
goto t1;
}
#endregion
#region Вывод горизонтальной линии
if (тик_рисования != Общая_Память.Тик_Таймера)
{
for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
тик_рисования = Общая_Память.Тик_Таймера;
}
#endregion
}
else
{
#region Вывод Аварийной последней горизонтальной и вертикальной линии
for (double i = тик_рисования; i <= Общая_Память.Тик_Таймера; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(i, 1); }));
for (double i = 0; i <= 1; i += 0.2)
Форма.ГрафикЗадача1.Invoke((MethodInvoker)(delegate () { Форма.ГрафикЗадача1.Series["Моделирование"].Points.AddXY(Общая_Память.Тик_Таймера, i); }));
Необход_рисов_первой_вертикальной = true;
Системное_ПО.Задача_выполняется.Т1 = false;
break;
#endregion
}
Thread.Sleep(TimeSpan.FromMilliseconds(500));
}
}
Это из чьей-то курсовой. Там весь проект такой.
Проект нашел на фрилансе и заказчик к ТЗ приложил его как пример того, как надо сделать его курсовую.
Я думаю, что написавший это стер себе пальцы и кнопки переключения раскладки клавиатуры)
Может я чего-то не понимаю и знающие люди мне объяснят в чем вообще смысл? зачем?
camper,
12 Декабря 2017
-
0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
static void Main(string[] args) {
int ? ival1 = 1;
Console.WriteLine(ival1.GetType());
//System.Int32
int ? ival2 = null;
Console.WriteLine(ival2.GetType());
//System.NullReferenceException Ссылка на объект не указывает на экземпляр объекта.
}
Че, пацаны, си шарп?
KbIC9I-KPbIC9I,
10 Декабря 2017
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
private static int CalcCheckSum(byte[] BinFile)
{
int length = ((IEnumerable<byte>) BinFile).Count<byte>();
if (length > 0)
{
int num = 0;
for (int index = 0; index < length; ++index)
num = num + (int) BinFile[index] & (int) ushort.MaxValue;
}
return num;
}
Израильский инновационный вариант rolling hash'а :facepalm:
Здесь есть всё: и альтернативное определение длины массива, и обилие приведений к инту, и придающая особую таинственность битовая операция &
На первый взгляд может показаться, что результатом будет простая сумма всех байт, но не дайте себя обмануть! Результат - это суперсекретная(!!!11) сумма всех байт.
PsychoTeras,
14 Ноября 2017
-
0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
public ReadFile(string path)
{
byte[] BinFile = File.ReadAllBytes(path);
if (((IEnumerable<byte>) BinFile).Count<byte>() <= 25)
return;
this._Version = BinFile[0].ToString() + "." + BinFile[1].ToString() + "." + BinFile[2].ToString();
}
Я вам тут израильского инжиниринга принёс. Читаем файл, читаем версию.
В этом коде прекрасно всё...
PsychoTeras,
14 Ноября 2017