1. C# / Говнокод #26203

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    public static XmlNode FindNodeRecursive(XmlNode document, string nodeName)
    {
        if (document.Name == nodeName)
            return document;
    
        foreach (XmlNode node in document.ChildNodes)
        {
            if (node.Name == nodeName)
                return node;
    
            XmlNode resNode = FindNodeRecursive(node, nodeName);
            if (resNode != null && resNode.Name == nodeName)
                return resNode;
        }
    
        return (XmlNode)null;
    }
    <...>
     XmlDocument document = new XmlDocument();
     document.LoadXml(request);
    
    var PurchaseIdNode = XmlProcessing.FindNodeRecursive(document, "PurchaseId");

    Разработчик с 15-летним стажем
    XPath'у не доверяет

    Barch, 12 Декабря 2019

    Комментарии (36)
  2. C# / Говнокод #26058

    +2

    1. 1
    2. 2
    3. 3
    https://tjournal.ru/analysis/128216-moshenniki-3-0-kak-ne-popastsya-na-udochku-novogo-pokoleniya-prestupnikov-v-sfere-it
    
    https://leonardo.osnova.io/0234cd39-a2ef-c6d8-d8df-87df562f9997/-/scale_crop/600x398/center/

    booratihno, 30 Ноября 2019

    Комментарии (96)
  3. C# / Говнокод #26051

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    public static long NextTimestamp()
    {
    	if (initTimestamp == null)
    	{
    		lock (syncRoot)
    		{
    			if (initTimestamp == null)
    			{
    				initTimestamp = false;
    				var sessionProvider = Locator.GetServiceNotNull<ISessionProvider>();
    				TimestampService.GetTimestamp();
    				sessionProvider.CloseSession("");
    				initTimestamp = true;
    			}
    		}
    	}
    
    	return initTimestamp.Value ? TimestampService.GetTimestamp() : 0;
    }

    Нельзя просто взять и вызвать TimestampService.GetTimestamp() - StackOverflowException получишь. Вот как надо!

    scrappyabc, 27 Ноября 2019

    Комментарии (2)
  4. C# / Говнокод #26043

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    class HTMLCheapRedactor
    {
        [STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Form a = new Form() { Text = "HTML Doc" },
                b = new Form() { Text = "HTML Code" };
            var web = new WebBrowser() { Dock = DockStyle.Fill };
            var txt = new TextBox()
            {
                Multiline = true,
                Dock = DockStyle.Fill,
                ScrollBars = ScrollBars.Both,
                Font = new Font("Consolas", 12f),
                WordWrap = false,
                AcceptsTab = true
            };
            web.DataBindings.Add(new Binding("DocumentText", txt, "Text"));
            a.Controls.Add(web);
            b.Controls.Add(txt);
            b.Show();
            b.AddOwnedForm(a);
            txt.Text = @"<html>
    <head>
         <title>Hello World!</title>
    </head>
    <body>
         Hello World!
    </body>
    </html>";
            Application.Run(a);
        }
    }

    groser, 24 Ноября 2019

    Комментарии (9)
  5. C# / Говнокод #26036

    +1

    1. 1
    if (tableOfVariables[i].Name == "replace".ToUpper())

    )))00

    neonmystery, 19 Ноября 2019

    Комментарии (51)
  6. C# / Говнокод #26013

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private static string GetServerHostFromUrl(string url)
      {
          char[] delimiterChars = { '/', ':' };
          var urlParser = url.Split(delimiterChars);
    
          if (urlParser[0] == "http" || urlParser[0] == "https")
              return urlParser[3];
          else
              return string.Empty;
      }

    Когда ты умеешь решать все поставленные задачи

    partizanes, 05 Ноября 2019

    Комментарии (2)
  7. C# / Говнокод #25995

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private List<string> StrSplit(string str)
    {
        if (!string.IsNullOrEmpty(str))
            return str.Split(new char[] { ',', ';', ':' }, StringSplitOptions.RemoveEmptyEntries).ToList();
        return null;
    }

    m_sandman, 25 Октября 2019

    Комментарии (14)
  8. C# / Говнокод #25994

    0

    1. 1
    2. 2
    3. 3
    string log = pair;
    log += ":";
    log += new string(Convert.ToChar(32), 21 - pair.Length); /*spaces*/

    m_sandman, 25 Октября 2019

    Комментарии (4)
  9. C# / Говнокод #25992

    0

    1. 1
    let res: boolean = result.lmr_customertype === typeOfSaleValue ? false : true;

    m_sandman, 25 Октября 2019

    Комментарии (7)
  10. C# / Говнокод #25990

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    public class HttpQueryNameValueCollection : NameValueCollection
        {
            private ParallelLoopResult _parallelLoopResult;
    
            public override string ToString()
            {
                List<string> result;
                result = new List<string>();
                _parallelLoopResult = Parallel.ForEach(AllKeys, p =>
                {
                    if (BaseGet(p) != null)
                        result.Add(p + "=" + Get(p));
                });
                return string.Join("&", result);
            }
        }

    Формирование ссылки с query-параметрами недостаточно быстро, поэтому нужно это сделать в параллель :D

    adoconnection, 24 Октября 2019

    Комментарии (13)