- 1
private bool IsNamesAreEqual(string itemName, string nodeName) { ... }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+98.6
private bool IsNamesAreEqual(string itemName, string nodeName) { ... }
Правда это скорее относится к английскому языку, нежели к шарпу.
Иногда полезно перечитывать давно написаный код, много нового узнаешь )))
+129.7
public string GetHtmlElement(RepeaterItem Container)
{
string Result = string.Empty;
string AClasses = HAS_CHILDREN_BASE_CSS_CLASS;
SiteMapNode Node = (SiteMapNode)Container.DataItem;
string Title = Node.Title;
string EnabledAttrSign = CustomSiteMapNodeInfo.ENABLED_ATTR_NAME;
string CssClassNameSign = CustomSiteMapNodeInfo.CSS_CLASS_ATTR_NAME;
string SpanCssClasses = string.Empty;
// checks for separator
if (string.IsNullOrEmpty(Node.Title) || Node.Title == ShellModuleInitializer.SEPARATOR)
{
SpanCssClasses = MENU_SEPARATOR_CSS_CLASS_NAME;
Title = EMPTY_TEXT;
}
bool HasImage = !string.IsNullOrEmpty(Node[CssClassNameSign]);
if (HasImage)
{
SpanCssClasses += HAS_IMAGE_CSS_CLASS_NAME;
}
Result = string.Format("<span class=\"{0}\">{1}</span>", SpanCssClasses, Title);
if (HasImage)
{
Result = string.Format("<span class=\"{0}\">{1}</span>{2}", Node[CssClassNameSign], EMPTY_TEXT, Result);
}
// checks for disabled item
if (!string.IsNullOrEmpty(Node[EnabledAttrSign]) && string.Compare(Node[EnabledAttrSign], "false", true) == 0)
{
AClasses += string.Format(" {0}", DISABLED_CSS_CLASS_NAME);
}
// checks for enabled item
if (!string.IsNullOrEmpty(Node[EnabledAttrSign]) && string.Compare(Node[EnabledAttrSign], "true", true) == 0)
{
Result = string.Format("<a href=\"{0}\" class=\"{1}\">{2}</a>", GetFullUrl(Container), AClasses, Result);
}
else
{
// cheks for non-clickable item
Result = string.Format("<a class=\"{0}\">{1}</a>", AClasses, Result);
}
return Result;
}
+136.3
for (int i = 0; i < count; i++) // перебираем список адресов
{
email = email_list[i].ToString();
for (int y = i + 1; y < count; y++) // перебираем тот же список но начиная со следующего элемента
{
if (email == email_list[y].ToString())
{
// если такой "y" уже есть в duble_index то пропускать
if (!duble_index.Contains(y))
duble_index.Add(y); // он дубликат - заносим его в "ЧЕРНЫЙ СПИСОК" =)
}
}
}
***************
System.Collections.ArrayList al = System.Collections.ArrayList.Adapter(duble_index);
al.Sort();
int z = 0;
int [] buff = new Int32[duble_index.Count];
foreach (Int32 s in al)
{
buff[z] = s;
z++;
}
for (int i = buff.Length-1; i >= 0; i--)
{
email_list.RemoveAt(buff[i]);
}
Удаление дубликатов в не отсортированном списке.... Это реально упростить?
+101.2
var r = from t in ds.ProductTags
where t.ProductTagID == tag
|| t.Parent.ProductTagID == tag
|| t.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
select t;
Это мой код. Надоело писать рекурсивные СTE чтобы выбрать всех детишек. Спросил у кастомера можно ли ограничить вложенность. Он согласился ;).. На свою голову ;).
+131.2
public static DataTable DeserilazeDataTable(string schema, string data)
{
DataTable tbl = new DataTable();
if (!string.IsNullOrEmpty(schema))
using (Stream stream = new MemoryStream())
{
byte[] bufer = GetBytes(schema);
stream.Write(bufer, 0, bufer.Length);
stream.Position = 0;
tbl.ReadXmlSchema(stream);
}
if (!string.IsNullOrEmpty(data))
using (Stream stream = new MemoryStream())
{
byte[] bufer = GetBytes(data);
stream.Write(bufer, 0, bufer.Length);
stream.Position = 0;
tbl.ReadXml(stream);
}
return tbl;
}
public static byte[] GetBytes(string str)
{
if (string.IsNullOrEmpty(str))
return new byte[0];
char[] ch = str.ToCharArray();
byte[] bufer = new byte[ch.Length];
for (int i = 0; i < ch.Length; i++)
bufer[i] = (byte)ch[i];
return bufer;
}
//также имеются методы для сериализации, работающие также
public static string SerilazeDataTable(DataTable table)
public static string SerilazeDataTableShame(DataTable table)
public static string GetString(byte[] bufer)
Вот такой десериализатор таблицы в Xml нашел в проэкте.
+95.7
static bool EqStr(string s)
{
Regex r = new Regex(@"STRING");
Match m = r.Match(s);
if (m.Success == true) return true;
else return false;
}
Изощренный способ сравнивать строки :)
+136
public string generateEMail()
{
string res;
int i = PersonName.IndexOf(" ");
char[] str1 = new char[i];
PersonName.CopyTo(0, str1, 0, i);
string str11 = new string(str1);
char[] str2 = new char[PersonName.Length - i - 1];
PersonName.CopyTo(i + 1, str2, 0, PersonName.Length - i - 1);
string str22 = new string(str2);
res = str11.ToString() + "." + str22.ToString();
if (res.Length > 20)
{
str1 = new char[20];
res.CopyTo(0, str1, 0, 20);
res = new string(str1);
}
res += "@domain.ua";
return res;
}
Вот вам шаблон для получения емейла из имени и фамилии сотрудника.
+123.7
Request.QueryString["outer_email"] = null;
Это я намерил на несколько места :)
+126.4
foreach (object item in this.cbFind.Properties.Items)
{
int a = -1;
}
+129
public Int32 SectionType
{
get
{
if (this.StaticRecord) return -1;
if ((!this.SectionIsReference) && this.SectionDoNotMakeUp) return 4;
if (this.SectionIsSlave)
{
switch (this.SectionUnionMode)
{
case 1:
return 2;
case 2:
return 0;
default:
return 1;
}
}
if (this.SectionIsReference) return 5;
if (this.SectionIsUnion) return 3;
return 0;
}
}
Собственноручно нагадил...