- 1
- 2
string str = "abcd";
textBox.Text = Convert.ToString(str);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
string str = "abcd";
textBox.Text = Convert.ToString(str);
Кратко об одногруппниках
+3
using System;
// Интерфейс места содержит координату его расположения
interface IPlace { long Distance { get; } }
// Интерфейс "двигатель" имеет его мощность
interface IEngine { float Power { get; } }
// Интерфейс Транспорт содержит двигатель и функция расчета времени на путь к определенному месту
interface IVehicle { IEngine Engine { get; } float TimeToTrip(IPlace place); }
// Интерфейс человека, имеющего дом и какой-либо транспорт
interface IPerson { IPlace Home { get; } IVehicle Vehicle { get; } }
// Описываем некоторые классы, реализующие интерфейс места
class Home : IPlace { public long Distance => 0; } // Класс дома, расположенного в начале координат
class Work : IPlace { public long Distance => 100; } // Класс рабочего офиса и расстояние до него
class School : IPlace { public long Distance => 58; } // Класс школы. Она расположена ближе к началу
// Петя -- это рабочий человек, ездящий на работу на автомобиле
class Petya : IEngine, IVehicle, IPerson
{
IVehicle car; // автомобиль
IEngine engine; // двигатель внешнего сгорания
IPlace home; // Петин дом
public float Power => 80f; // максимальная мощность двс в км/ч
public IEngine Engine => engine; // возвращаем двигатель авто
public IPlace Home => home; // возвращаем Петин дом
public IVehicle Vehicle => car; // возвращаем авто как транспорт
// Рассчитываем время, требуемое на путь
public float TimeToTrip(long distance) => distance / Engine.Power;
public float TimeToTrip(IPlace place) => TimeToTrip(place.Distance - home.Distance);
// Конструктор Пети, принимающий транспорт и его двигатель
public Petya(IEngine engine, IVehicle vehicle)
{ car = vehicle; this.engine = engine; }
// Конструктор, задающий Петин дом
public Petya(IPlace place = null)
{ // Если дома нет, создаем его сами
home = place ?? new Home();
car = this; engine = this;
}
}
// Иван -- школьник, он ездит в школу на велосипеде
class Ivan : IEngine, IVehicle, IPerson
{
IVehicle bike; // Ваня ездит на велосипеде
IEngine legs; // в качестве двигателя выступают Ванины ноги
IPlace home; // дом Вани
public float Power => 15f; //максимальная скорость Ваниных ног в к/мч
public IEngine Engine => legs; // возвращаем ноги в виде двигателя
public IPlace Home => home; // возвращаем Ванин дом
public IVehicle Vehicle => bike; // возвращаем велосипед как транспорт
// Рассчитываем время, требуемое на путь
public float TimeToTrip(long distance) => distance / Engine.Power;
public float TimeToTrip(IPlace place) => TimeToTrip(place.Distance - home.Distance);
// Конструктор Вани, принимающий транспорт и его двигатель
public Ivan(IEngine engine, IVehicle vehicle)
{ bike = vehicle; legs = engine; }
// Конструктор, задающий Ванин дом
public Ivan(IPlace place = null)
{ // Если дома нет, создаем его сами
home = place ?? new Home();
bike = this; legs = this;
}
}
class InterfacesLesson
{
// Вспомогательный метод для вывода на экран нужной нам информации
static void PrintInfo(IPerson person, IPlace place)
{
Console.WriteLine("{0} едет из {1} в {2} за {3:f2} ч.",
person, person.Home, place, person.Vehicle.TimeToTrip(place));
}
static void Main()
{
IPlace // Создаем несколько мест
home = new Home(),
work = new Work(),
school = new School();
IPerson // Создаем несколько людей
petya = new Petya(),
ivan = new Ivan(),
egor = new Ivan(school);
// Проверяем, кто за какое время добирается к нужному месту
PrintInfo(petya, home);
PrintInfo(petya, work);
PrintInfo(ivan, school);
PrintInfo(egor, work);
PrintInfo(egor, home);
Console.ReadLine();
}
}
Вот таким примером учат в одном известном ВУЗе интерфейсам...
+1
switch (true)
{
}
0
static class MathParser
{
static double getFunc(char op, double a, double b)
{
switch (op)
{
case '+': return a + b; case '-': return a - b;
case '*': return a * b; case '/': return a / b; case '%': return a % b;
case '^': return Pow(a, b); default: return double.NaN;
}
}
static char[][] ops = { new char[] { '+', '-' }, new char[] { '*', '/', '%' }, new char[] { '^' } };
public static double Eval(string str) => Eval(ref str, 0, str.Length);
private static double Eval(ref string str, int z, int l, int i = 0)
{
for (; i < 3; i++)
for (int v = l - 1; v >= z; v--)
for (int j = ops[i].Length - 1; j >= 0; j--)
if (str[v] == ops[i][j])
return getFunc(str[v],
Eval(ref str, z, v, i),
Eval(ref str, v + 1, l, i + 1));
return double.Parse(str.Substring(z, l - z));
}
}
Какой-то укуренный калькулятор получился...
MathParser.Eval("3,1346") => 3.1346
MathParser.Eval("3+2*5") => 13
MathParser.Eval("2^5-1") => 31
MathParser.Eval("1/2^3") => 0.125
MathParser.Eval("2^2^2^2") => 256
MathParser.Eval("7,2%3") => 1.2
0
using System;
using System.Linq;
using s = System.String;
using i = System.Int32;
class Player
{
static i sgn(i x) => x < 0 ? -1 : x > 0 ? 1 : 0;
static s g(ref i z, i Z, s S)
{
i t = sgn(z - Z);
if (t < 0) z++;
else if (t > 0) z--;
return S[t + 1] + "";
}
static void Main()
{
var a = Console.ReadLine().Split().Select(i.Parse).ToArray();
i X = a[0], Y = a[1], x = a[2], y = a[3];
while (true)
{
Console.ReadLine();
Console.WriteLine(g(ref y, Y, "S N") + g(ref x, X, "E W"));
}
}
}
Поиск пути на плоскости от первой точки координат до второй. Выводит направление следующего передвижения.
+2
private bool IsOsTurn()
{
if (turn.Text.Equals(oString))
return true;
return false;
}
private bool ADiagonalIsSame()
{
if (LeftToRightDiagonalIsSame()) { return true; }
if (RightToLeftDiagonalIsSame()) { return true; }
return false;
}
private bool IsAWin()
{
if (ARowIsSame() || AColumnIsSame() || ADiagonalIsSame())
return true;
else return false;
}
Взято из кода "крестики-нолики", работающем через DataGridView // <- да, это изврат!
Такое чувство, что автор сука не умеет работать с булевыми значениями.
Удивлен, что не встретил что-то вроде:
if (turn.Text.Equals(oString) == true)
0
static int Z2(bool[,] m, int X, int Y)
{
int count = 0;
int
x_ = Max(0, X - 1),
_x = Min(5, X + 1),
y_ = Max(0, Y - 1),
_y = Min(5, Y + 1);
for (int x = x_; x <= _x; x++)
for (int y = y_; y <= _y; y++)
if (m[x, y]) ++count;
if (m[X, Y]) --count;
return count;
}
Когда-то давно на олимпиаде искал таким образом на матрице M[6x6] количество зафлагованных соседей для элемента M[x,y].
0
static string getl
{
get { return gets(get); }
}
+2
using big = System.Numerics.BigInteger;
class Mega
{
readonly static Type
_dbl = typeof(double),
_str = typeof(string),
_chr = typeof(char),
_int = typeof(int),
_big = typeof(big);
object o;
public Mega(object O) => o = O;
public static Mega operator +(Mega a, Mega b) {
Type ta = a.o.GetType(), tb = b.o.GetType();
if (ta == _str || tb == _str)
return new Mega(String.Concat(a.o, b.o));
if (ta == _dbl) {
if (tb == _dbl) return new Mega((double)a.o + (double)b.o);
if (tb == _chr) return new Mega((double)a.o + (char)b.o);
if (tb == _int) return new Mega((double)a.o + (int)b.o);
} if (tb == _dbl) {
if (ta == _chr) return new Mega((char)a.o + (double)b.o);
if (ta == _int) return new Mega((int)a.o + (double)b.o);
} if (ta == _int) {
if (tb == _chr) return new Mega((int)a.o + (char)b.o);
if (tb == _int) return new Mega((int)a.o + (int)b.o);
if (tb == _big) return new Mega((int)a.o + (big)b.o);
} if (ta == _big) {
if (tb == _chr) return new Mega((big)a.o + (char)b.o);
if (tb == _int) return new Mega((big)a.o + (int)b.o);
if (tb == _big) return new Mega((big)a.o + (big)b.o);
} if (ta == _chr) {
if (tb == _chr) return new Mega((char)((char)a.o + (char)b.o));
if (tb == _int) return new Mega((char)a.o + (int)b.o);
} throw new Exception("bad operators types");
} public override string ToString() => o.ToString();
}
"Некий класс Mega подразумевает совместную работу нескольких типов в одной оболочке."
// другие операторы и методы такие же, не стал копировать
−1
foreach (var form1 in Volume.Form)
{
int nameCount = 0;
foreach (var form2 in Volume.Form)
{
if (form2.Name.Equals(form1.Name) && ++nameCount > 1)
{
throw new VolumeConfigurationException($"Form with name \"{form1.Name}\" already exists.");
}
}
вот скажите мне
как программисты программисту
вот как рука поднимается такое вот писать: