- 1
- 2
- 3
- 4
- 5
- 6
// var doc = new Document(file);
var stream = new MemoryStream();
file.CopyTo(stream);
file.Position = 0;
stream.Position = 0;
var doc = new Document(stream);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+132
// var doc = new Document(file);
var stream = new MemoryStream();
file.CopyTo(stream);
file.Position = 0;
stream.Position = 0;
var doc = new Document(stream);
Ебал в рот Spire.Doc
Нагло жует чужие потоки
Причем только если документ - RTF
Какого хуя вообще?
+2
public static DateTime DateStringConvert(string dateString)
{
var dd = dateString.Substring(0, dateString.IndexOf('-'));
var mm = dateString.Substring(dateString.IndexOf('-') + 1).Substring(0, dateString.IndexOf('-'));
var yyyy = dateString.Substring(dateString.IndexOf('-') + 1).Substring(dateString.IndexOf('-') + 1)
.Substring(0, dateString.Substring(dateString.IndexOf('-') + 1)
.Substring(dateString.IndexOf('-') + 1).IndexOf(' '));
var time = dateString.Substring(dateString.IndexOf('-') + 1).Substring(dateString.IndexOf('-') + 1)
.Substring(dateString.Substring(dateString.IndexOf('-') + 1)
.Substring(dateString.IndexOf('-') + 1).IndexOf(' ') + 1);
var hh = time.Substring(0, time.IndexOf(':'));
var MM = time.Substring(time.IndexOf(':') + 1);
return new DateTime(
Convert.ToInt16(yyyy),
Convert.ToInt16(mm),
Convert.ToInt16(dd),
Convert.ToInt16(hh),
Convert.ToInt16(MM),
0);
}
Вот что происходит, когда не знаешь, как парсить string в DateTime. Говнокод получен от украинских фрилансеров.
+131
private static List<Vessel> boosterVesselList = new List<Vessel>();
/// <summary>
/// Вернуть судно по строковому обозначению судна
/// </summary>
private static Vessel GetVesselByIdString(string vesselStrId)
{
Vessel findVessel = null;
// Просмотр в ускоряющем списке
foreach (Vessel boostVessel in boosterVesselList)
{
if (boostVessel.Name == vesselStrId)
{
findVessel = boostVessel;
break;
}
}
// Если в списке не нашли, ищем в БД
if (findVessel == null)
{
findVessel = VesselBusinessLogic.GetItemByName(vesselStrId);
if (findVessel == null)
{
findVessel = new Vessel
{
Id = -1,
Name = vesselStrId
};
findVessel.Id = PublicFunctions.AddOrUpdate(findVessel);
boosterVesselList.Add(findVessel);
}
}
return findVessel;
}
Это один из методов класса для работы с морскими судами. Я пока не совсем понял как так и зачем так. Боже мой.... мама, роди меня обратно. Комментарии оригинальные.
+132
public static string DownloadString(string Url, bool UnZip = false)
{
var v = Configs.Instance.MainURL + Url;
if (!CheckOnServer(v))
return "";
using (var wb = new WebClient())
{
if (UnZip)
v = Encoding.UTF8.GetString(IoUtils.UnZip(wb.DownloadData(v)));
else
v = wb.DownloadString(v);
if (v.StartsWith(((char)65279).ToString())) v = v.Substring(1);//utf8 header -_-
}
return v;
}
+1
// Не очень красивое решение. Но зато можно не выставлять в паблик всякие кишочки
private void SetValueToPrivateField<Type>(Type instance, string field, object value) {
if (instance != null) {
FieldInfo fieldInfo = typeof(Type).GetField(
field,
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic
);
if (fieldInfo != null) {
fieldInfo.SetValue(instance, value);
}
}
}
Публичный сеттер нарушит инкапсуляцию, поэтому будем использовать рефлексию
"Мне нельзя ничего есть, поэтому я вставлю себе трубку прямо в живот и буду при необходимости заливать прямо туда. Но есть не буду"
+1
if (bonusA is RuneBonusLine && bonusB is RuneBonusLine) {
Mix(bonusA as RuneBonusLine, bonusB as RuneBonusLine);
} else if (bonusA is RuneBonusBomb && bonusB is RuneBonusBomb) {
Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusBomb);
} else if (bonusA is RuneBonusBomb && bonusB is RuneBonusLine) {
Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusLine);
} else if (bonusB is RuneBonusBomb && bonusA is RuneBonusLine) {
Mix(bonusB as RuneBonusBomb, bonusA as RuneBonusLine);
}
Is/As Oriented Programming
+1
public enum AdjacentCell {
/// <summary>
/// Сверху.
/// </summary>
Above = ABOVE,
/// <summary>
/// Снизу.
/// </summary>
Below = BELOW,
/// <summary>
/// Слева.
/// </summary>
Left = LEFT,
/// <summary>
/// Справа.
/// </summary>
Right = RIGHT
}
private const int ABOVE = 0;
private const int BELOW = 1;
private const int LEFT = 2;
private const int RIGHT = 3;
Мы добавили немного констант в твой енам, чтобы ты мог использовать константы, пока используешь енам
+2
int a,b,c,d,e,f, k = 1;
for (a = 0; a < 9; a++)
for (b = 0; b < 9; b++)
for (c = 0; c < 9; c++)
for (d = 0; d < 9; d++)
for (e = 0; e < 9; e++)
for (f = 0; f < 9; f++)
{
if (a + b + c == d + e + f && a+b+c == 13)
k = k + 1;
}
Console.WriteLine("кол-во комбинаций: " + k + " ");
Console.WriteLine("кол-во билетов: " + k * k);
Очередные лабы... God, whyyy...
+139
private string FormatblankInString(string value)
{
if (value.Contains("blank"))
{
if (value.Trim().EndsWith("blank"))
{
value = value.Replace("blank", "");
//if only blank pressent then
if (string.IsNullOrEmpty(value))
{
value = value.Insert(0, "blank");
}
else
{
if (value.EndsWith(","))
value = value.Remove(value.LastIndexOf(','));
value = value.Insert(0, "blank" + ",");
}
}
value = value.Replace("blank", "[blank]");
return value;
}
else
{
return value;
}
}
Продукт наших индусских коллег. Начнем с того, что на клиенсткой форме слова "blank" вообще быть не должно, там или значение или null, который не выводится. Но они его не только выводят, но и в базу сохраняют и делают с ним вот такую индусскую магию...
+95
[Flags]
public enum UserTypes : uint
{
None = 0,
xxx = uint.MaxValue / 2 + 1,
yyy= uint.MaxValue / 4 + 1,
All = xxx | yyy
}
Кчему мелочиться