C# : String
Top 37 C# Example Pages...

["wsheh. bBXST~~}T~~YF9684686F(CBC,BBB(B%P6F]CCPFF8XS}T~~}T~~","String.Empty."," The string.Empty field is an empty string literal. It is slightly different from an empty string literal constant \"\". There is a subtle difference\u2014but one that could be significant in some scenarios. It changes the meaning of a program. ","String Literal ","string-literal","Here,"," we use string.Empty and \"\" in a C# program. The string.Empty field is initialized to \"\" at runtime by the .NET Framework. This means it cannot be used in a switch. But you can test with string.Empty in if-statements. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses string.Empty","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {","\n //\n // Initialize string to empty string field.\n //\n ","string value = ","string.Empty",";","\n //\n // Test the empty field.\n //\n ","if (value == ","\"\"",")\n {\n Console.WriteLine(","\"Empty\"",");\n }\n if (value.Length == 0)\n {\n Console.WriteLine(","\"Empty\"",");\n }","\n //\n // Switch on the string constant.\n //\n ","switch (value)\n {\n case ","\"\"",":\n {\n Console.WriteLine(","\"Empty\"",");\n break;\n }","\n // case string.Empty:\n // {\n // Console.WriteLine(\"Error!\");\n // break;\n // }\n ","}\n }\n}\n\n","Output","\n\nEmpty\nEmpty\nEmpty","The example"," assigns the string variable \"value\" to string.Empty. This is mostly equivalent to \"\". Next, it tests that variable against the constant \"\", which returns true, and finally it tests the Length and switches on the value. ","Note: ","You cannot use string.Empty as a switch case, because it cannot be determined at compile-time by the C# compiler.","Compiler ","compiler","And: ","This is an example of how string.Empty is a needlessly disabled version of \"\".","Switch."," Because string.Empty is initialized in the static constructor for the String class, it cannot be determined when you compile your program. It is a readonly field. The case statements in switches can only contain const strings. ","Static Constructor ","static","Readonly ","readonly","const ","const","Internally,"," complex switch statements are implemented as a Dictionary, providing constant lookup times. This is sometimes a speedup. If you use if-conditions because they work with string.Empty, you could lose this optimization. ","String Switch ","string-switch","Implementation."," Here we look inside the .NET Framework and see how the Empty field is initialized. In the String class, look at the static constructor. The Empty field is assigned to the constant \"\". This constant is a string literal instance. ","Internal implementation of string.Empty:","\n\nstatic String()\n{\n Empty = \"\";","\n //\n // More initialization omitted\n //\n","}\n\n","Field declaration for string.Empty:","\n\npublic static readonly string Empty;","Discussion."," When you specify \"\" instead string.Empty, the C# compiler itself will know the value of the string data. The runtime is not a part of this decision. This occurs before the execution engine is started and before JIT happens. ","Therefore: ","Certain C# compiler optimizations are effective only with \"\", not string.Empty.","Also: ","You can run a benchmark where string.Empty is much slower than \"\", by using a conditional that is removed by the C# compiler.","String.Empty benchmarked code:","\n\nif (string.Empty == null)\n{\n throw new Exception();\n}\n\n","Constant string benchmarked code:","\n\nif (\"\" == null)\n{\n throw new Exception();\n}\n\n","Benchmark results:","\n\nSecond loop was completely compiled out before runtime.\n1000000000 iterations.\n\nstring.Empty loop: ","637 ms","\n\"\" loop: ","319 ms"," [faster]","Summary."," String.Empty won't work in switches. It provides less information to the C# compiler than the constant itself. The C# compiler can completely eliminate certain instructions that use \"\", but not those that use string.Empty. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABfCAMAAACa5XhXAAAAMFBMVEX///+foaDS1dVpa2oxMi/i4uLl9/1kyvSZ2fjL7fsatvEAru8yu/Hq+P7y+v0KsfAiJDr2AAAE60lEQVR4XtSay67jIBBEveoHL///305sZSqZuu30RVaQpjZZ0If4CDDYycZx01b2upem5luUeWQ941rqe4oCuIEsZ1zrz1D9NLKeGVrj6EDNPLKe8VKvUmA+jaxnbK/X2Q11c8h6xurnoHwKWc94zYIhnEGWM76n1TvKZ5DFzGg1TxuQmEDWMlp/E4XFBLKUcRZUM03mYqYAZCWj0XY5rBo1ajwgFqxPRq57EjeaPRHDHAsqrIPLcmdLp34yESDMaHSDjZlcBIxerbUBEe5HMxFG4o6oLWRyETCFzTAcLFK2ZwqLuD1AfDojzDTrR3U362weM+D8bDBjkcJyHZffBCKkGUxGO0YLn04IGOrJ0Q6AGY5xORiaoNuZUQ79y1lkuQgjYFgEV5YwmYjRPJTtjOgB+SMazFHNRBhhhkUGAGZyETAtvml1424wSAfCgUiMgGGR1oElTCLSaEGVsSHdCgGF1mAswggYFhneQeUMizCz0wX17ZVOo7JvZ/ZchBFmnL8kZ1iEGS4tNq73qg39JCKMMOP0IJswuUiNtNVfLu2LIyJqOOLeH5Hyr8Ij9v6Cwr64RrxWB3Z7jbSfl6MvZPPv3rXs+SVmt+9awUYxTFUHjwjvI7kIEGZYRMrmd/cRvlKOhTs7R3HWojbapfmspc9mgQgx+VkLjH8UkZqdtWCItgi5+BprzDGTn37BFK50h4e0mpx+ExE+ybIISE2YRKREDwpWrdPWTv1oLgKEGBapNs5Vefd5BHaMqCkMgyfENEByRlVLwqRxeKfBgMwhC5nY+398i9ITbzpOziErGZFS8xQReEwgC5kh8qsXrCI4Ss4g65guIpZWmwiGZApZx8gRS4shMoksY4acSX4WOkow6HPIKuZZLR9/qBMSmUFWMV3+RmscRUU/PSaRVUwXxFtQ21xIZBJZxch7gr8XCIJlOIesYoTy/ocPlJLIFPIl5k+3ZrTTOhBDwR4f75V4yP7/514BFaclTuo41W7EvEE0ZcfZkBAhQSF5FJJXRjlLskGbt6AMcP5OSE9G6KZQUAY4fyfkdvgiLChrx0D6JyTsHc6UEIM/A3uD0w+e8oLy7Bh9De28c3C6JUXOBz2GH2ed5dAtoaTIMd/GzjqHpltR5MD3wEmnH9juFUUOfB+cdJb8LikocuCvwEknvUtOKeavsXNOz++SutKZCGE/5/R0R12BZ8BJpyc76op5DttzSDJ2xJK7aMuKFsC73h7XAB395Qi0Lw0ORcrRhFOzrSot+LGIQrw9OYI/B6wpxOWIJTPbooJofoxC8OSIvrNV8WrEkkVNcUE0jRxfXzRQoXLyv5ijhfXvKS89rqgpFi1Km8uCo/HMm1n8iYPAxnQZhCBymuLYFSJnENwIaUEIA4ePlz/WIZwdckMuBI8niRNDtm9gXIV44EBtMRND8C20XIjaaHdwkRDdxQ6GSLpICI+H8JIhjmSIVg/Xs4pxRgijEG9hCCOn63t3DYEzK4TpEN0lAbtNDMH6WQtwRxSCxDOjQuQMwYLpaXMlnrWcPQqRM4qNEAYhcuKSbgqRMwrEIY5VCOR49BeikQqRM4rmWdqOQ3LDGQc9B0vOQMxzWMkZwJD3WgMY86ZxAKPe/V5sc6HmXK4ENedyJSg5czD6FrSSM4sOj0EvO1c6KbSSM5kWPA3WnPk8/V/JO5z/cLdscvTcpWUAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)"]

["url(data:image/jpeg;base64,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)","C","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHUAAABYCAMAAAD86EhmAAAAwFBMVEX////b3+TMzMyYpb1jV1fD0eluXkeir8S+xc/e5O2QmaTy8/OgkVeMeFO1rp2tnlcxNjp8bVYxJROspI1mZmZiT0F0dXqLg3pETFIGBgRMUFXz+P/i8P/Ckxc5QEVLPz2EcEeVkZLUpCAZERKqnHuZkHrcv2D5434ZJhTKr1z11F6ftuL/vx5lfVbO4f5aq0ONxYVQZUvX5v/o03zswTv/8m/ty1UxjBcnYBtBkCuTYQ/432t4mt7cry6lxv/94kNGVDL7AAAE9klEQVR4XtXY15LjNhCGUQGMOSjnPDmnzbbf/61M/E3NAitqCUqsHfu7I+fiFIdQV0utw01G6Gwg2lKXaLvfGRqgDC2oL+grClrVeY2rnobKgG5WknoGtH2syjVUXqJuoHZ01N5xajxCHTzFThVdKpCcrM5T9IX6LIo11ICL3KwvCqmFqPd9vxd0jq5QZC9F0Z3oEfGWbtxU1J7obb8Cv877DvpTmEXoTHScmtVRP0FN9lX3ODWCatdTJVZbdaFGf1rFaRokKEpxmg6rqFDtDB2lrtqAlii6An6OVA5do0/odbYWJUkoekCBrtofbfLaPdFiSVKIylQCSb2lEkSqp69e5qWkRgSFiegIlemq3SZVrq1i9C7qqahanRyqZV628xa2qBcCuU4QQbXUR1W9+bHfDYrRy9uF6NyOomhZnKO2aHOleK9Sa3QbRqKHryJ9tSN6uSB1GeUlpC5E7Z2KytQEE+Yj1QddtSOrV0eos8MqmMPqavdehbpM5Pe6G1HEyuottQ5RiTqRHCSdI5QUXaEwQSiMUELS+i/RGs2o5R0q2RKnpP5NWcjddkQXKKMpEV685F0NTdEbslO0fIU3k/pG2U+IVCarXpUa0ec1IXUM9TvU5QKVq0hWuazel6iOrGaF+tKkap2gpnXUuJZqS//hC+W9Zimy/6HTJDUrUR/31RuLijuInos2Ap/qiys7Okegx+tbNNvQgERttDBtVJzhzyJFvVHUAkXbni16V0XRNanjvKGqjlDBmpSsPmipF/8FNTuorkna1FF/yKorqwnUrCn1q4ROVHUrqeG+2gt11R56gvr0GUkjMSDVotyONIC3mWhgUANchfT9yRaZs1saugRdonSB+tTdEyKVSSpH75cIQM/FVauI8TzWoS0KY+F2MUKbrsj0nTxfXQUHo0vRF8Ql1UWTAmVeHoNqxwHL27EcdeiEQX3tjTaoa4pWvshV1JWsSn/ySG3JKieVn676shr/qnJZDUjN6qnjAVRHUWNZlYYTU1U43KZn9SrUbyO0MUk19lUX6ojUs19VtlMRx08RZ0xceIFymuIMzUTr5ZwaUKu8vq+obP4kukOP+6pmzEG0XsTyBt/y03me2dKJ11T9WETrRWfK0FSUq8O87oeoYy3VRV4DqgF1GGigQU2VF2pPtDpRDfRPkysaiLJYVicO1LnXqDpB6q3pBE2f83Yq01A9fVVuqiSrKddXW39WZY2pU5dUV1vljajzBlW1atWpO5rUJ5IcqQCVqdaxqms47xkWqU5lhvUsKtRYQ3UPq6yuOoTq6w/Ej1WdE9T7MdRVzYGoCoanr07BaqueqhpSPqmBUV2hmpjD/dqqJzdR71GMspTu0XNXV2WkAqiobDQ9Uzt1Xk/V0lAZVzStqfJm1D7UbrXKG1eH3UY3xHKcktXxpOZADJgnpd5jSpaaogZVaKCqlm8g5NCexHyjMldWh17NgWgZDkJui1TDqepdTaGymqp7muprLoneYdXQU5Gqck01aFJNK1Wmqo4hRSpOWFWOorqVKkelwz8gNfDKkz8/90epvxsLOjviM5oYpDoNqOUpXNFUV7WAsoZUJ9VbEnnDqta6Fnyg6kLV7HeqO9da1wILeUeoarVUPkD9bkMNoQ4qVKePxun8cMOieXVDNO/rqeaQGp+YpuqTOv6/qzpL4qo5FdVSzQIwT43sbvBb9F+BoNKC/cna+QAAAABJRU5ErkJggg==)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA9CAAAAAD94GjJAAADQklEQVR4Xt3awW4yMQwE4P+heLq8VJ7HZ5/nOtf8DS61QIFJCt0I5kKlKM1+8tpit/3XLiEBd7cedwfYVG63kG1/WpAIt0H8PosYb8G0Cp7Bi0nJGcRHqNT8GsWrQ19L4ggijpM7ZGD2d6Rm6ya5Q5foWJI26R2qRAeTtMmliaJEf0ty01kmmSjRfhKWSRAl2k5y0QxyR248ggTLeET0RpDWu4lmh5HcAbJlCElyAPzZROi5DDuKRMq5dHsm2WQNMFg+inQvy2dStN9+EkS3q+YfcHeTKEiqTKJK2EBqgiR22Hgtq/4eJH9A4u0A3X3j4QlSehOwh4Rfk/yccaflQ+XuIc550t1nb2RBDiHpiazDCwg9Q7GzbSPR1o9EiHAOR+Rw7iHBfnffdVAtp9OpfOXxLs8cQKKbrY9wdpGjgyJtluR/QYI9SlsoUj1NkvATdx5NmjsQWSTrQFVbRtBzNIkr4w5fonoNsO+CfVu/f4yOc++fxdrtQrRk8QvAajlvsBaJX1fLKRjlfGp8SpLPipJUNOk2UAs/HZr6SJDqComzjRQmlG6qWCRVtVBPpUSdxqRYwJcRkmSYFQWpA84qihsPjdF3/aOohUgNQ5LKmRwWno8qLxkPud27qZwi/pBkeYXdLBauCp56XnVW3H9TJIMWJQm0GioqkiVJLbQYD9ckC07OhzJNMmhRmtgZHVVfSArPkJTN1JmYJJkUJSlqw1eSAlfM6l2Sd6x114XEqwDDMmmRhWiKRHKWlM01IKXQY5T/Exe6+Nre6WZdVHM+tNDZmJQyRcIdUjZTSZJ+ujDO0Xk+PFLytIggyRsvBkQdkALdlz1JyoRJUV5/PlvYkASgWwCsjYcyIOUhLUmqANCicHtM21KZ8Pge9xSJtWuqlXukFt4kyTL5VI1W4hlne0WilZKkX+Rp0WZStNIzJKhv7Mc+1UbnrZCUaAHz+tcp+QVipZeUaCspW+mJiQd77pL2v+Y3vFi0/524cV60n0RqUZK0aD+J8XwNkg/+om4Pvv75newjDS5PPAPCprKVpMOPI3l7JxJmSPw4Etqnkbx9Gsnbm5Fc33XvRmpU/yf+fqQewsX/5r8bKUIiZe4A21vmP24hqdv1SRFyAAAAAElFTkSuQmCC)"]