- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
public static bool IsNotNullOrEmpty(this string str)
{
return !string.IsNullOrEmpty(str);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
public static bool IsNotNullOrEmpty(this string str)
{
return !string.IsNullOrEmpty(str);
}
экономия должна быть экономной
+1
langDict0.Add(eng , new string[] { ger, fre, spa, chi, rus, jap, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(ger , new string[] { eng, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(fre , new string[] { eng, ger, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(spa , new string[] { eng, ger, fre, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(chi , new string[] { eng });
langDict0.Add(rus , new string[] { eng });
langDict0.Add(jap , new string[] { eng });
langDict0.Add(por , new string[] { eng, ger, fre, spa, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(ita , new string[] { eng, ger, fre, spa, por, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(dut , new string[] { eng, ger, fre, spa, por, ita, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(pol , new string[] { eng, ger, fre, spa, por, ita, dut, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(swe , new string[] { eng, ger, fre, spa, por, ita, dut, pol, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(dan , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(fin , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(gre , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(cze , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(rom , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(hun , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(slvk, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, bul, slvn, lit, lat, est, mal });
langDict0.Add(bul , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, slvn, lit, lat, est, mal });
langDict0.Add(slvn, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, lit, lat, est, mal });
langDict0.Add(lit , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lat, est, mal });
langDict0.Add(lat , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, est, mal });
langDict0.Add(est , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, mal });
langDict0.Add(mal, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est });
0
DataControl.b1. PointerReleased += async (a, b) => { await action(DataControl.b1); };
DataControl.b2. PointerReleased += async (a, b) => { await action(DataControl.b2); };
DataControl.b3. PointerReleased += async (a, b) => { await action(DataControl.b3); };
DataControl.b4. PointerReleased += async (a, b) => { await action(DataControl.b4); };
DataControl.sub41.PointerReleased += async (a, b) => { await action(DataControl.b1); };
DataControl.sub42.PointerReleased += async (a, b) => { await action(DataControl.b2); };
DataControl.sub43.PointerReleased += async (a, b) => { await action(DataControl.b3); };
DataControl.sub44.PointerReleased += async (a, b) => { await action(DataControl.b4); };
+1
_workflowQueue = new Queue<IWorkflowInfo>(_workflowQueue.Where(w => !(w == workflow || w.WorkflowGuid == workflow.WorkflowGuid)));
Вот как надо делать, если из очереди нужно удалить произвольный элемент.
Использовать List?! Это для слабаков!
+1
static int Cols (double[,] Arr, out int rows)
{
int n = Arr.GetLength(0);
int m = Arr.GetLength(1);
rows=0;
int i=0;
int j=0;
for (; j < m;j++)
{
i = 0;
while (i < n-1 & Arr[i, j] < (Arr[i+1 , j]))
{
i++;
}
if (i == n-1)
rows++;
}
int k = 0;
i = 0;
for (; i < n; i++)
{
j = 0;
while (j < m-1 & Arr[i, j] < (Arr[i, j+1 ]))
{
j++;
}
if (j == m - 1)
k++;
}
return k;
}
−1
public void CreateContract( string session_id, string sOrganizationCode, string sOrganizationName, string sContractNumber, string sClientCode, string sClientName,
double dSum , string sCurrencyCode, string sCurrencyName, double dSumUSD, string sdateContractDate, string sdateContractDueDate, string sResponsibleCode,
string sResponsibleName, string sCuratorCode, string sCuratorName, string sContractType, string sProjectCode, string sDocName , out int nDocNumber, out string sURL,
string sSuperiorContract, string sProtocolNum, string sProcurementType, string sTRU){
nDocNumber = 0;
sURL = string.Empty;
BusinessObject business_object = LoadBusinessObject(session_id);
if (business_object == null)
goto end_of_method;
try
{
business_object.CreateContract(sOrganizationCode, sOrganizationName,sContractNumber,sClientCode,sClientName,dSum,sCurrencyCode,sCurrencyName,
dSumUSD,sdateContractDate,sdateContractDueDate,sResponsibleCode,sResponsibleName,sCuratorCode,sCuratorName,sContractType,
sProjectCode,sDocName,ref nDocNumber,ref sURL, sSuperiorContract,sProtocolNum,sProcurementType,sTRU);
}
catch(Exception e)
{ //...}
end_of_method:
//а дальше код пишет логи)
}
Вот такое вот бывает...
0
DateTime minDate = DateTime.MinValue;
if (IsSaving)
return mPrognozStartDate;
if (Children.Count > 0)
{
var childrens = Children.Cast<BaseDesignObject>().Where(p => p.PrognozStartDate != DateTime.MinValue);
if (childrens.Count() > 0)
{
minDate = childrens.Min(t => t.PrognozStartDate);
}
return minDate;
}
else
{
return mPrognozStartDate;
}
При наличии детей выдаем минимальную дату, если их нет то собственную...
+1
public static CategoryAttribute Build(string category_name, string attribute_type, string attribute_name, object attribute_value)
{
try
{
CategoryAttribute document_attribute;
switch(attribute_type)
{
case "string":
case "double_as_string":
document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.String);
break;
case "string_as_date":
document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.DateTime);
break;
case "int":
case "double_as_int":
document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Integer);
break;
case "double":
document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Double);
break;
default:
throw new ApplicationException("Не верно настроен тип данных атрибута '" + attribute_name + "' категории '" + category_name + "'.");
}
if (attribute_value == null)
return document_attribute;// атрибут остался неопределенным
switch (document_attribute.Type)
{
case TypeEnum.String:
{
switch (attribute_type)
{
case "string":
{
if (!(attribute_value is string))
throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
+ "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
attribute_type + "'.");
document_attribute.sValue = attribute_value as string;
} break;
case "double_as_string":
{
if (!(attribute_value is double))
throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
+ "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
attribute_type + "'.");
document_attribute.sValue = ((double)attribute_value).ToString();
} break;
}
}
break;
case TypeEnum.Integer:
{
switch (attribute_type)
{
case "int":
{
if (!(attribute_value is int))
throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
+ "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
attribute_type + "'.");
document_attribute.iValue = (int)attribute_value;
} break;
case "double_as_int":
{
if (!(attribute_value is double))
throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
+ "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
attribute_type + "'.");
document_attribute.iValue = (int)(double)attribute_value;
} break;
}
}
break;
case TypeEnum.Double:
{
if (!(attribute_value is float || attribute_value is double || attribute_value is int || attribute_value is long))
throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
+ "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" + attribute_type + "'.");
document_attribute.dValue = (double)attribute_value;
}
break;
}
return document_attribute;
catch (Exception e)
{
//...
}
}
Создание объекта типа CategoryAttribute.
+5
namespace ConsoleApplication
{
public static class Program
{
private static void Main( string[] args )
{
new Random().Next( -100, 100 )
.Execute( x => Console.Write( $"{x} это " ) )
.IfElse( x => x % 2 == 0, () => Console.Write( "четное " ), () => Console.Write( "нечетное " ) )
.Execute( () => Console.Write( "число " ) )
.IfElse( x => x > 0, () => Console.Write( "больше " ), () => Console.Write( "меньше " ) )
.Execute( () => Console.Write( "нуля" ) )
.Execute( () => Console.WriteLine() );
}
}
}
вывод в консоли (прим.): "-88 это четное число меньше нуля"
Адские экстеншены
+1
if (dlgOpen.ShowDialog() != DialogResult.OK) return;
txtLog.Clear();
string customXMLFileName = dlgOpen.FileName;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(customXMLFileName);
foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
{
if (node.Name == "Surfaces")
{
foreach (XmlNode childNode in node.ChildNodes)
{
txtLog.AppendText(childNode.Name.ToString() + Environment.NewLine);
foreach (XmlNode _childNode in childNode.ChildNodes)
{
if (_childNode.Name == "SourceData")
{
foreach (XmlNode __childNode in _childNode.ChildNodes)
{
txtLog.AppendText(__childNode.Name.ToString() + Environment.NewLine);
if (__childNode.Name == "Breaklines")
{
foreach (XmlNode ___childNode in __childNode.ChildNodes)
{
txtLog.AppendText(___childNode.Name.ToString() + Environment.NewLine);
XmlNode dataNode = ___childNode.LastChild;
string txtData = dataNode.InnerText;
txtLog.AppendText(txtData + Environment.NewLine);
}
}
}
}
}
}
}
}
Невнимательное чтение MSDN привело к такому плачевному результату. А всего лишь хотелось прочитать значение дочерних нод Breaklines....
GetElementsByTagName в помощь....