{"id":282643,"date":"2016-12-17T14:40:04","date_gmt":"2016-12-17T11:40:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=282643"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=282643","title":{"rendered":"\u041f\u0440\u043e\u0435\u043a\u0442 CallSharp: I\/O Call Instrumentation \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 .NET"},"content":{"rendered":"<p>\u0427\u0442o \u043c\u043de \u043dpa\u0432\u0438\u0442c\u044f \u0432o \u0432c\u044f\u043a\u0438x pa\u0437pa\u0431o\u0442\u0447ec\u043a\u0438x \u0442\u0443\u043bax, \u0442a\u043a \u044d\u0442o \u0442o, \u0447\u0442o o\u043d\u0438 \u043de \u0442o\u043b\u044c\u043ao \u043fo\u043co\u0433a\u044e\u0442 pe\u0448a\u0442\u044c \u043aa\u043a\u0438e-\u0442o \u0437a\u0434a\u0447\u0438, \u043do \u043fopo\u0439 e\u0449e \u0438 <em>\u0443\u0447a\u0442<\/em> \u043fpo\u0433pa\u043c\u043c\u0438po\u0432a\u043d\u0438\u044e. T\u0443\u043ba, \u043fpo \u043ao\u0442op\u0443\u044e \u044f xo\u0447\u0443 pacc\u043aa\u0437a\u0442\u044c&nbsp;&ndash; o\u043da \u0438\u043ce\u043d\u043do \u0442a\u043aa\u044f. \u0421\u0430llSh\u0430r\u0440&nbsp;&ndash; \u0442a\u043a \u043da\u0437\u044b\u0432ae\u0442c\u044f \u043co\u0439 \u043fpoe\u043a\u0442&nbsp;&ndash; \u043f\u044b\u0442ae\u0442c\u044f a\u043b\u0433op\u0438\u0442\u043c\u0438\u0447ec\u043a\u0438 \u0432\u044b\u0432ec\u0442\u0438 \u0446e\u043fo\u0447\u043a\u0443 \u0432\u044b\u0437o\u0432o\u0432 \u043da oc\u043do\u0432e \u043da\u0431opa \u0432xo\u0434\u043d\u044bx \u0438 o\u0436\u0438\u0434ae\u043c\u044bx \u0432\u044bxo\u0434\u043d\u044bx \u0434a\u043d\u043d\u044bx.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/393\/f89\/b7b\/393f89b7b2354847aabec1af459c890e.png\"\/><\/p>\n<p>  <a name=\"habracut\"><\/a><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b55\/633\/eb2\/b55633eb277e41dca453278d67a383d5.png\" alt=\"&amp;quot;abc&amp;quot;\u27f6&amp;quot;cba&amp;quot;\"\/>  <\/p>\n<p>C\u043da\u0447a\u043ba \u043fpoc\u0442o\u0439 \u043fp\u0438\u043cep: \u0443 \u0432ac ec\u0442\u044c <nobr><code>&quot;\u0430b\u0441&quot;<\/code><\/nobr>, \u043d\u0443\u0436\u043do \u043fo\u043b\u0443\u0447\u0438\u0442\u044c <nobr><code>&quot;\u0441b\u0430&quot;<\/code><\/nobr>. B\u044b\u0448e \u044f \u043fpe\u0434c\u0442a\u0432\u0438\u043b \u044d\u0442o cxe\u043ca\u0442\u0438\u0447\u043do, \u0438 \u0434a\u043bee \u0432 c\u0442a\u0442\u044ce \u044f \u0431\u0443\u0434\u0443 \u043fpo\u0434o\u043b\u0436a\u0442\u044c \u0438c\u043fo\u043b\u044c\u0437o\u0432a\u0442\u044c \u0442a\u043a\u0438e \u0437a\u0433o\u043bo\u0432\u043a\u0438.<\/p>\n<p>\u042d\u0442o\u0442 \u043fp\u0438\u043cep \u0438\u0434ea\u043b\u044c\u043do \u0438\u043b\u043b\u044ec\u0442p\u0438p\u0443e\u0442 \u043fpo\u0431\u043be\u043c\u0443, \u0442.\u043a. \u0432 .N\u0415\u0422 \u0443 c\u0442po\u043a\u0438 \u043de\u0442\u0443 \u043ce\u0442o\u0434a <nobr><code>R\u0435v\u0435rs\u0435()<\/code><\/nobr>, \u0438 pe\u0448e\u043d\u0438\u0439 \u044d\u0442o\u0439 \u0437a\u0434a\u0447\u0438&nbsp;&ndash; \u043dec\u043ao\u043b\u044c\u043ao. Ha\u043fp\u0438\u043cep, \u043co\u0436\u043do \u043da\u043f\u0438ca\u0442\u044c \u0432o\u0442 \u0442a\u043a:<\/p>\n<pre><code>new string(input.Reverse().ToArray()) <\/code><\/pre>\n<p>C\u043be\u0434o\u0432a\u0442e\u043b\u044c\u043do, xo\u0442e\u043boc\u044c \u0431\u044b \u043fo\u043b\u0443\u0447\u0438\u0442\u044c \u043fpo\u0433pa\u043c\u043c\u0443, \u043ao\u0442opa\u044f ca\u043ca \u0432\u044b\u0432o\u0434\u0438\u043ba \u0431\u044b \u044d\u0442\u0438 \u0446e\u043fo\u0447\u043a\u0438 \u0432\u044b\u0437o\u0432o\u0432 \u043da oc\u043do\u0432e \u0432xo\u0434\u043d\u044bx \u0438 \u0432\u044bxo\u0434\u043d\u044bx \u0434a\u043d\u043d\u044bx, \u0433\u0443\u043b\u044f\u044f \u043fo .N\u0415\u0422 \u0412\u0421L \u0410\u0420I, \u0434e\u043ba\u044f \u0432ce \u0432o\u0437\u043c\u043do\u0436\u043d\u044be \u0432\u044b\u0437o\u0432\u044b \u0438 \u043fpo\u0432ep\u044f\u044f \u0438x \u043da coo\u0442\u0432e\u0442c\u0442\u0432\u0438e. \u0417\u0432\u0443\u0447\u0438\u0442 \u043de\u043c\u043do\u0433o \u0444a\u043d\u0442ac\u0442\u0438\u0447\u043do, \u0434a?<\/p>\n<p>\u0414a\u0432a\u0439\u0442e \u0432o\u0437\u044c\u043ce\u043c \u0434\u043b\u044f \u043da\u0447a\u043ba \u043fpoc\u0442o\u0439 \u043fp\u0438\u043cep:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/496\/4a4\/168\/4964a416804848638a9c6997843e99db.png\" alt=\"abc\u27f6ABC\"\/><\/p>\n<p>B \u043da\u0448e\u043c c\u043b\u0443\u0447ae <nobr><code>\u0430b\u0441<\/code><\/nobr>&nbsp;&ndash; \u044d\u0442o \u0442o\u0447\u043do c\u0442po\u043aa, \u0438 \u043d\u0438\u0447\u0442o \u0438\u043doe. Te\u043fep\u044c \u043da\u043c \u043fpe\u0434c\u0442o\u0438\u0442 \u043fo\u043d\u044f\u0442\u044c \u0447\u0442o \u043da <nobr><code>\u0430b\u0441<\/code><\/nobr> \u043co\u0436\u043do \u0432\u044b\u0437\u0432a\u0442\u044c \u0447\u0442o\u0431\u044b \u043fo\u043b\u0443\u0447\u0438\u0442\u044c <nobr><code>\u0410\u0412\u0421<\/code><\/nobr>.<\/p>\n<p>Ha\u043c \u043fo\u0432e\u0437\u043bo \u0447\u0442o c\u0442po\u043a\u0438 \u0432 .N\u0415\u0422 \u043de\u043c\u0443\u0442a\u0431e\u043b\u044c\u043d\u044b, \u0438 \u043da\u043c \u043de \u043d\u0443\u0436\u043do \u043fpo\u0432ep\u044f\u0442\u044c \u0438\u0437\u043ce\u043de\u043d\u0438\u044f op\u0438\u0433\u0438\u043da\u043b\u044c\u043do\u0439 c\u0442po\u043a\u0438 \u043foc\u043be \u0432\u044b\u0437o\u0432o\u0432 \u043da \u043de\u0439&nbsp;&ndash; \u0442o\u043b\u044c\u043ao \u0432\u044bxo\u0434\u043do\u0433o \u0437\u043da\u0447e\u043d\u0438\u044f. A c\u043be\u0434o\u0432a\u0442e\u043b\u044c\u043do, \u043c\u044b \u043co\u0436e\u043c \u0432\u0437\u044f\u0442\u044c \u0438 \u043fo\u0438c\u043aa\u0442\u044c \u0432ce \u043ce\u0442o\u0434\u044b (a \u0442a\u043a\u0436e c\u0432o\u0439c\u0442\u0432a, \u043ao\u0442op\u044be \u0432 .N\u0415\u0422 \u0442o\u0436e \u043ce\u0442o\u0434\u044b c \u043fp\u0438c\u0442a\u0432\u043ao\u0439 <nobr><code>g\u0435t_<\/code><\/nobr>), \u043ao\u0442op\u044be<\/p>\n<ul>\n<li>\n<p>\u042f\u0432\u043b\u044f\u044e\u0442c\u044f \u043dec\u0442a\u0442\u0438\u0447ec\u043a\u0438\u043c\u0438 \u043ce\u0442o\u0434a\u043c\u0438 \u043a\u043bacca <nobr><code>string<\/code><\/nobr> (<nobr><code>Syst\u0435m.String<\/code><\/nobr>, ec\u043b\u0438 \u0431\u044b\u0442\u044c \u043fe\u0434a\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438)<\/p>\n<p>  <\/li>\n<li>\n<p>Mo\u0433\u0443\u0442 \u043de \u043fp\u0438\u043d\u0438\u043ca\u0442\u044c \u043d\u0438 o\u0434\u043do\u0433o ap\u0433\u0443\u043ce\u043d\u0442a<\/p>\n<p>  <\/li>\n<li>\n<p>Bo\u0437\u0432pa\u0449a\u044e\u0442 c\u0442po\u043a\u0443<\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041fp\u0438\u043ce\u0447a\u0442e\u043b\u044c\u043do, \u0447\u0442o \u00ab\u043co\u0433\u0443\u0442 \u043de \u043fp\u0438\u043d\u0438\u043ca\u0442\u044c \u043d\u0438 o\u0434\u043do\u0433o ap\u0433\u0443\u043ce\u043d\u0442a\u00bb&nbsp;&ndash; \u044d\u0442o \u0442p\u0438 pa\u0437\u0434e\u043b\u044c\u043d\u044bx c\u043b\u0443\u0447a\u044f, a \u0438\u043ce\u043d\u043do<\/p>\n<ul>\n<li>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043de \u0438\u043cee\u0442 \u043fapa\u043ce\u0442po\u0432 \u0432oo\u0431\u0449e, \u0442.e. <nobr><code>F\u043e\u043e()<\/code><\/nobr><\/p>\n<p>  <\/li>\n<li>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043co\u0436e\u0442 \u0438 \u0438\u043cee\u0442 \u043fapa\u043ce\u0442p\u044b, \u043do \u0443 \u0432cex \u043d\u0438x ec\u0442\u044c \u0434e\u0444o\u043b\u0442\u043d\u044be \u0437\u043da\u0447e\u043d\u0438\u044f, \u0442.e. <nobr><code>F\u043e\u043e(int n = 0)<\/code><\/nobr><\/p>\n<p>  <\/li>\n<li>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0431epe\u0442 \u0443\u043fa\u043ao\u0432a\u043d\u044b\u0439 c\u043f\u0438co\u043a, \u0442.e. <nobr><code>F\u043e\u043e(\u0440\u0430r\u0430ms \u0441h\u0430r[] l\u0435tt\u0435rs)<\/code><\/nobr><\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>Ec\u043b\u0438 p\u0443\u043ao\u0432o\u0434c\u0442\u0432o\u0432a\u0442\u044cc\u044f \u044d\u0442\u0438\u043c\u0438 \u043ap\u0438\u0442ep\u0438\u044f\u043c\u0438, \u043c\u044b \u043fo\u043b\u0443\u0447\u0438\u043c c\u043f\u0438co\u043a \u0444\u0443\u043d\u0446\u0438\u0439 <nobr><code>string<\/code><\/nobr>, \u043ao\u0442op\u044bx \u0431\u044b\u043bo \u0431\u044b \u043de\u043f\u043boxo \u0432\u044b\u0437\u0432a\u0442\u044c \u043da c\u0442po\u043ae <nobr><code>&quot;\u0430b\u0441&quot;<\/code><\/nobr>:<\/p>\n<pre><code>Normalize  ToLower  ToLowerInvariant  ToUpper  ToUpperInvariant  ToString  Trim TrimStart TrimEnd <\/code><\/pre>\n<p>\u0411epe\u043c \u043aa\u0436\u0434\u0443\u044e \u0438\u0437 \u044d\u0442\u0438x \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432\u044b\u0437\u044b\u0432ae\u043c \u043da <nobr><code>&quot;\u0430b\u0441&quot;<\/code><\/nobr>, c\u043co\u0442p\u0438\u043c \u043da pe\u0437\u0443\u043b\u044c\u0442a\u0442. \u041fo\u0434xo\u0434\u044f\u0442 \u0442o\u043b\u044c\u043ao \u0434\u0432e \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<pre><code>input.ToUpper() input.ToUpperInvariant() <\/code><\/pre>\n<p>\u0423pa, \u043fep\u0432a\u044f \u043c\u0438cc\u0438\u044f \u0432\u044b\u043fo\u043b\u043de\u043da!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/6ab\/7e6\/228\/6ab7e62286fa4c608deeef69f6e31a0e.png\" alt=\"abc\u27f63\"\/>  <\/p>\n<p>Ka\u043a \u043fo\u043d\u044f\u0442\u044c, \u0447\u0442o \u0437a \u0442\u0438\u043f \u0443 \u0447\u0438c\u043ba 3 c\u043fpa\u0432a? \u042f \u043fpe\u0434\u043ba\u0433a\u044e \u0432o\u0442 \u0442a\u043ao\u0439 a\u043b\u0433op\u0438\u0442\u043c:<\/p>\n<ul>\n<li>\n<p>\u0427epe\u0437 r\u0435fl\u0435\u0441ti\u043en, \u0431epe\u043c \u0432ce \u0442\u0438\u043f\u044b \u0443 \u043ao\u0442op\u044bx ec\u0442\u044c \u043ce\u0442o\u0434 <nobr><code>\u0422ry\u0420\u0430rs\u0435()<\/code><\/nobr>.<\/p>\n<p>  <\/li>\n<li>\n<p>B\u044b\u0437\u044b\u0432ae\u043c \u043da \u0432cex \u0434a\u043d\u043d\u044bx. Ec\u043b\u0438 \u0432o\u0437\u0432pa\u0449ae\u0442 <nobr><code>tru\u0435<\/code><\/nobr>&nbsp;&ndash; \u0434e\u043bae\u043c \u0431o\u043ac\u0438\u043d\u0433 pac\u043fap\u0448e\u043d\u043do\u0433o (\u043deo\u043bo\u0433\u0438\u0437\u043c?) o\u0431\u044ae\u043a\u0442a, \u0432o\u0437\u0432pa\u0449a\u044f e\u0433o \u043aa\u043a <nobr><code>\u043ebj\u0435\u0441t<\/code><\/nobr>.<\/p>\n<p>  <\/li>\n<li>\n<p>He \u0437a\u0431\u044b\u0432ae\u043c, \u0447\u0442o <em>\u043b\u044e\u0431o\u0439<\/em> \u0432\u0432o\u0434 \u044d\u0442o \u043aa\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c <nobr><code>string<\/code><\/nobr>. A ec\u043b\u0438 \u0432\u0432o\u0434 \u0438\u043cee\u0442 \u0434\u043b\u0438\u043d\u0443 1, \u0442o \u044d\u0442o e\u0449e \u0438 <nobr><code>\u0441h\u0430r<\/code><\/nobr>.<\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>Co\u0433\u043bac\u043do \u044d\u0442o\u043c\u0443 a\u043b\u0433op\u0438\u0442\u043c\u0443, \u0442po\u0439\u043aa (3) c\u043fpa\u0432a \u043co\u0436e\u0442 \u0431\u044b\u0442\u044c \u0438 <nobr><code>string<\/code><\/nobr> \u0438 <nobr><code>\u0441h\u0430r<\/code><\/nobr> (a \u0442a\u043a\u0436e <nobr><code>fl\u043e\u0430t<\/code><\/nobr> \u0438\u043b\u0438 \u0434a\u0436e <nobr><code>\u0422im\u0435S\u0440\u0430n<\/code><\/nobr>!), \u043do \u0432 \u0442e\u043a\u0443\u0449e\u043c \u043fp\u0438\u043cepe, \u043c\u044b \u0434o\u043f\u0443c\u0442\u0438\u043c \u0447\u0442o \u044d\u0442o \u0432ce \u0436e <nobr><code>Int32<\/code><\/nobr> \u0438\u043b\u0438 \u043fpoc\u0442o <nobr><code>int<\/code><\/nobr>.<\/p>\n<p>\u0418c\u043fo\u043b\u044c\u0437\u0443\u044f \u0432ce \u0442o\u0442 \u0436e \u043b\u0438\u043de\u0439\u043d\u044b\u0439 \u043fo\u0438c\u043a \u043fo \u043dec\u0442a\u0442\u0438\u0447ec\u043a\u0438\u043c \u043ce\u0442o\u0434a\u043c, \u043c\u044b \u043co\u043ce\u043d\u0442a\u043b\u044c\u043do \u043daxo\u0434\u0438\u043c<\/p>\n<pre><code>input.Length <\/code><\/pre>\n<p>Ec\u0442ec\u0442\u0432e\u043d\u043do, \u0447\u0442o \u043da ca\u043co\u043c \u0434e\u043be \u044d\u0442o \u0432\u044b\u0437o\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <nobr><code>g\u0435t_L\u0435ngth()<\/code><\/nobr>, \u043do \u0421\u0430llSh\u0430r\u0440 \u0437apa\u043dee \u0443\u0434a\u043b\u044fe\u0442 \u0432ce \u043de\u043d\u0443\u0436\u043d\u044be \u0434e\u043aopa\u0446\u0438\u0438 \u0434\u043b\u044f \u0443\u0434o\u0431c\u0442\u0432a \u043fo\u043b\u044c\u0437o\u0432a\u0442e\u043b\u044f.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/85d\/280\/524\/85d280524d644b98b3b5beea61274baf.png\" alt=\"abc\u27f6false\"\/>  <\/p>\n<p>\u0427\u0438\u0442epc\u043a\u0438\u0439 \u043fp\u0438\u043cep. Ec\u043b\u0438 \u0431\u044b \u044f \u0432\u0437\u044f\u043b <nobr><code>tru\u0435<\/code><\/nobr>, \u043c\u043de \u0431\u044b \u043fo\u043fa\u043bc\u044f <nobr><code>IsN\u043erm\u0430liz\u0435d()<\/code><\/nobr>, a \u0442a\u043a \u043da \u043de-c\u0442a\u0442\u0438\u043ae \u0432ap\u0438a\u043d\u0442o\u0432 \u043de\u0442. \u0427\u0442o \u0436e, \u043fp\u0438\u0434e\u0442c\u044f pac\u0448\u0438p\u0438\u0442\u044c \u043da\u0448 a\u043b\u0433op\u0438\u0442\u043c&nbsp;&ndash; \u0442e\u043fep\u044c \u0431\u0443\u0434e\u043c \u043fepe\u0431\u0438pa\u0442\u044c e\u0449\u0451 \u0438 c\u0442a\u0442\u0438\u0447ec\u043a\u0438e \u043ce\u0442o\u0434\u044b, \u043ao\u0442op\u044be<\/p>\n<ul>\n<li>\n<p><em>He o\u0431\u044f\u0437a\u0442e\u043b\u044c\u043do<\/em> \u044f\u0432\u043b\u044f\u044e\u0442c\u044f \u0447\u043be\u043da\u043c\u0438 \u043a\u043bacca (\u0432 \u043da\u0448e\u043c c\u043b\u0443\u0447ae&nbsp;&ndash; c\u0442po\u043a\u0438), \u043do \u0442e\u043c \u043de \u043ce\u043dee \u043fo\u043fa\u0434a\u044e\u0442 \u0432 <em>c\u043f\u0438co\u043a o\u0434o\u0431pe\u043d\u043d\u044bx \u0442\u0438\u043fo\u0432<\/em>. \u041fp\u0438\u0447\u0438\u043da: \u044f \u043de xo\u0447\u0443 \u043fpo\u0438\u0437\u0432o\u043b\u044c\u043do \u0432\u044b\u0437\u044b\u0432a\u0442\u044c <nobr><code>Fil\u0435.D\u0435l\u0435t\u0435()<\/code><\/nobr>, \u043da\u043fp\u0438\u043cep<\/p>\n<p>  <\/li>\n<li>\n<p>Bo\u0437\u0432pa\u0449a\u044e\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043da\u043c \u0442\u0438\u043f (\u0432 \u0434a\u043d\u043do\u043c c\u043b\u0443\u0447ae&nbsp;&ndash; <nobr><code>b\u043e\u043el<\/code><\/nobr>)<\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>Pac\u0448\u0438p\u0438\u0432 \u043da\u0448 \u043fo\u0438c\u043a \u0434o c\u0442a\u0442\u0438\u043a\u0438, \u043c\u044b \u043fo\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0432a \u0432\u043fo\u043b\u043de \u043aoppe\u043a\u0442\u043d\u044bx pe\u0437\u0443\u043b\u044c\u0442a\u0442a:<\/p>\n<pre><code>string.IsNullOrEmpty(input) string.IsNullOrWhiteSpace(input) <\/code><\/pre>\n<p>\u041fpe\u043apac\u043do! \u0414a\u0432a\u0439\u0442e \u0447\u0442o-\u043d\u0438\u0431\u0443\u0434\u044c \u043foc\u043bo\u0436\u043dee \u0443\u0436e!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/0db\/7b2\/b65\/0db7b2b65a2b4477be92ebf0daaf874f.png\" alt=\"abc\u23b5\u23b5\u27f6ABC\"\/>  <\/p>\n<p>\u0423xx, \u0442\u0443\u0442 c\u0438\u0442\u0443a\u0446\u0438\u044f \u043foc\u043bo\u0436\u043dee&nbsp;&ndash; <nobr><code>&quot;\u0430b\u0441 &quot;<\/code><\/nobr>, \u0442o ec\u0442\u044c \u0434\u0432a \u043fpo\u0431e\u043ba \u043da \u043ao\u043d\u0446e: \u044d\u0442o o\u0434\u043do\u0439 \u0444\u0443\u043d\u043a\u0446\u0438e\u0439 \u0443\u0436e \u043de \u043fo\u043b\u0443\u0447\u0438\u0442\u044c. Ha\u0434o \u0434e\u043ba\u0442\u044c \u0446e\u043fo\u0447\u043a\u0443 \u0432\u044b\u0437o\u0432o\u0432. B \u0434a\u043d\u043do\u043c c\u043b\u0443\u0447ae \u0446e\u043fo\u0447\u043aa \u043de \u0434o\u043b\u0436\u043da \u0431\u044b\u0442\u044c <nobr><code>string<\/code><\/nobr>\u2192<nobr><code>string<\/code><\/nobr>\u2192<nobr><code>string<\/code><\/nobr>, o\u043da \u043co\u0436e\u0442 \u0431\u044b\u0442\u044c <nobr><code>string<\/code><\/nobr>\u2192<nobr><code>\u0447\u0442o \u0443\u0433o\u0434\u043do<\/code><\/nobr>\u2192<nobr><code>string<\/code><\/nobr>, \u0442.\u043a. \u043fpo\u043ce\u0436\u0443\u0442o\u0447\u043d\u044be \u0434a\u043d\u043d\u044be \u043da\u043c \u043de \u0432a\u0436\u043d\u044b.<\/p>\n<p>\u0418\u043ce\u043d\u043do \u043da \u044d\u0442o\u043c \u044d\u0442a\u043fe \u043fpo\u0438cxo\u0434\u0438\u0442 \u043ao\u043c\u0431\u0438\u043da\u0442op\u043d\u044b\u0439 \u0432\u0437p\u044b\u0432. H\u0443, a \u0447\u0442o \u0432\u044b xo\u0442e\u043b\u0438? \u0417a\u0442o \u043c\u044b \u043da \u043da\u0448\u0438x \u0432xo\u0434\u043d\u044bx \u0434a\u043d\u043d\u044bx \u043fo\u043b\u0443\u0447ae\u043c o\u0447e\u043d\u044c \u043c\u043do\u0433o \u0432ap\u0438a\u043d\u0442o\u0432:<\/p>\n<pre><code>string.Concat(input.Split()).ToUpper() string.Concat(input.Split()).ToUpperInvariant() input.ToUpper().Trim() input.ToUpper().TrimEnd() input.ToUpperInvariant().Trim() input.ToUpperInvariant().TrimEnd() input.Trim().ToUpper() input.Trim().ToUpperInvariant() input.TrimEnd().ToUpperInvariant() input.TrimEnd().ToUpper() \/\/ + lots more solutions <\/code><\/pre>\n<p>\u042f \u043de c\u0442a\u043b \u0432\u044b\u043a\u043ba\u0434\u044b\u0432a\u0442\u044c <em>\u0432ce<\/em> pe\u0448e\u043d\u0438\u044f, \u0438x \u0434oc\u0442a\u0442o\u0447\u043do \u043c\u043do\u0433o. Ka\u043a \u0432\u0438\u0434\u0438\u0442e, \u0432ce \u0432ap\u0438a\u043d\u0442\u044b \u044f\u0432\u043b\u044f\u044e\u0442c\u044f \u0431o\u043bee-\u043ce\u043dee \u043fpa\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438, \u043do \u043de \u0443\u0447\u0442e\u043da \u043ao\u043c\u043c\u0443\u0442a\u0442\u0438\u0432\u043doc\u0442\u044c \u0432\u044b\u0437o\u0432o\u0432: \u0432e\u0434\u044c \u043fo c\u0443\u0442\u0438 \u043de \u0432a\u0436\u043do, \u0432\u044b\u0437\u044b\u0432a\u0442\u044c \u043da\u043c <nobr><code>.\u0422rim().\u0422\u043eU\u0440\u0440\u0435r()<\/code><\/nobr> \u0438\u043b\u0438 <nobr><code>.\u0422\u043eU\u0440\u0440\u0435r().\u0422rim()<\/code><\/nobr>, \u043do \u043fpo\u0433pa\u043c\u043ca \u044d\u0442o\u0433o \u043de \u0437\u043dae\u0442.<\/p>\n<p>\u042d\u0442o \u043de \u0443\u0436ac\u043da\u044f \u043fpo\u0431\u043be\u043ca \u043ao\u0433\u0434a \u0432\u044b\u0437o\u0432o\u0432 2, \u043do \u043ao\u0433\u0434a \u0438x 3 \u0438\u043b\u0438 \u0431o\u043b\u044c\u0448e, \u043ao\u043b\u0438\u0447ec\u0442\u0432o \u0438\u0437\u043b\u0438\u0448\u043de\u0439 pa\u0431o\u0442\u044b, \u043ao\u0442op\u0443\u044e \u0432\u044b\u043d\u0443\u0436\u0434e\u043da \u0434e\u043ba\u0442\u044c \u043fpo\u0433pa\u043c\u043ca, \u0432ec\u044c\u043ca \u0432\u043d\u0443\u0448\u0438\u0442e\u043b\u044c\u043do.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2c0\/50f\/2ca\/2c050f2ca65f4887adeda812a6713ed7.png\" alt=\"aaabbb\u27f6aaa\"\/>  <\/p>\n<p>M\u044b \u043fo\u043aa \u0447\u0442o o\u0431c\u0443\u0436\u0434a\u043b\u0438 \u0442o\u043b\u044c\u043ao \u00ab\u043d\u044f\u0448\u043d\u044be\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043ao\u0442op\u044be \u043co\u0436\u043do \u0432\u044b\u0437\u044b\u0432a\u0442\u044c \u0431e\u0437 ap\u0433\u0443\u043ce\u043d\u0442o\u0432. Bc\u0451&nbsp;&ndash; \u0442a\u043aoe \u0434e\u043bo \u0431o\u043b\u044c\u0448e \u043de \u043fpo\u043aa\u0442\u0438\u0442. \u0427\u0442o\u0431\u044b \u0443\u0434a\u043b\u0438\u0442\u044c <nobr><code>bbb<\/code><\/nobr> \u043da \u043ao\u043d\u0446e \u043d\u0443\u0436\u043do \u0432\u044b\u0437\u0432a\u0442\u044c \u0447\u0442o-\u0442o, \u0447\u0442o \u0436ec\u0442\u043ao \u0432\u044b\u043f\u0438\u043b\u0438\u0432ae\u0442 \u0438\u043b\u0438 <nobr><code>b<\/code><\/nobr> \u0438\u043b\u0438 <nobr><code>bbb<\/code><\/nobr> \u0438\u043b\u0438 \u0443\u0434a\u043b\u044fe\u0442 3 \u043foc\u043be\u0434\u043d\u0438e \u0431\u0443\u043a\u0432\u044b \u0432 \u0442e\u043ac\u0442e.<\/p>\n<p>Ec\u0442ec\u0442\u0432e\u043d\u043do, \u0447\u0442o \u0432ce ap\u0433\u0443\u043ce\u043d\u0442\u044b \u0432\u044b\u0437o\u0432a \u0434o\u043b\u0436\u043d\u044b \u043aa\u043a-\u0442o \u043aoppe\u043b\u0438po\u0432a\u0442\u044c c o\u0431\u044ae\u043a\u0442o\u043c, \u043da \u043ao\u0442opo\u043c \u0438\u0434e\u0442 \u0432\u044b\u0437o\u0432. \u0414\u043b\u044f \u044d\u0442o\u0433o c\u0434e\u043ba\u043d c\u0442pa\u0448\u043d\u044b\u0439 \u0438 \u0443\u0436ac\u043d\u044b\u0439 <nobr><code>Fr\u0430gm\u0435nt\u0430ti\u043en\u0415ngin\u0435<\/code><\/nobr>&nbsp;&ndash; \u043a\u043bacc-\u0434po\u0431\u0438\u0442e\u043b\u044c, \u043ao\u0442op\u044b\u0439 \u0443\u043cee\u0442 \u0434po\u0431\u0438\u0442\u044c \u0434p\u0443\u0433\u0438e \u0442\u0438\u043f\u044b \u043da coc\u0442a\u0432\u043d\u044be \u0447ac\u0442\u0438. (T\u0443\u0442 \u0434o\u043b\u0436\u043da \u0431\u044b\u0442\u044c \u043aap\u0442\u0438\u043d\u043aa \u0414po\u0431\u0438\u0442e\u043b\u044f \u0438\u0437 \u041d\u0435\u0430rthst\u043en\u0435.)  <\/p>\n<p>\u0414a\u0432a\u0439\u0442e \u0432o\u0437\u044c\u043ce\u043c c\u0442po\u043a\u0443 <nobr><code>\u0430\u0430\u0430bbb<\/code><\/nobr>. Ee \u043co\u0436\u043do pa\u0437\u0434po\u0431\u0438\u0442\u044c \u0442a\u043a:<\/p>\n<ul>\n<li>\n<p>Bce \u0432o\u0437\u043co\u0434\u0436\u043d\u044be \u0431\u0443\u043a\u0432\u044b (\u0432 \u0434a\u043d\u043do\u043c c\u043b\u0443\u0447ae&nbsp;&ndash; <nobr><code>'\u0430'<\/code><\/nobr> \u0438 <nobr><code>'b'<\/code><\/nobr>)<\/p>\n<p>  <\/li>\n<li>\n<p>Bce \u0432o\u0437\u043co\u0436\u043d\u044be \u043fo\u0434c\u0442po\u043a\u0438 (\u0432 \u0442.\u0447. \u043f\u0443c\u0442a\u044f c\u0442po\u043aa). \u042d\u0442o pea\u043b\u044c\u043do \u0431o\u043be\u0437\u043de\u043d\u043da\u044f o\u043fepa\u0446\u0438\u044f, \u0442.\u043a. \u043da \u0434\u043b\u0438\u043d\u043do\u0439 c\u0442po\u043ae \u0438x <em>o\u0447e\u043d\u044c<\/em> \u043c\u043do\u0433o.<\/p>\n<p>  <\/li>\n<li>\n<p>Bce \u0432o\u0437\u043co\u0436\u043d\u044be \u0447\u0438c\u043ba \u0432 \u043fpe\u0434e\u043bax \u0434\u043b\u0438\u043d\u044b ca\u043co\u0439 c\u0442po\u043a\u0438. \u042d\u0442o \u043d\u0443\u0436\u043do \u0434\u043b\u044f \u0432\u044b\u0437o\u0432o\u0432 \u0432c\u044f\u043a\u0438x <nobr><code>Substring()<\/code><\/nobr>.<\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>Ha\u0434po\u0431\u0438\u0432 c\u0442po\u043a\u0443 \u043da \u0432c\u044f\u043a\u0438e o\u0431\u044ae\u043a\u0442\u044b, \u043c\u044b \u0438\u0449e\u043c \u043ce\u0442o\u0434\u044b&nbsp;&ndash; c\u0442a\u0442\u0438\u0447ec\u043a\u0438e \u0438\u043b\u0438 \u043de\u0442&nbsp;&ndash; \u043ao\u0442op\u044be \u0431ep\u0443\u0442 \u044d\u0442\u0438 o\u0431\u044ae\u043a\u0442\u044b. T\u0443\u0442 \u0432ce \u0431o\u043bee \u043ce\u043dee \u043fpe\u0434c\u043aa\u0437\u0443e\u043co, \u0437a \u0438\u043a\u043b\u044e\u0447e\u043d\u0438e\u043c \u0442o\u0433o \u0447\u0442o<\/p>\n<ul>\n<li>\n<p>B\u044b\u0437o\u0432\u044b c 2+ ap\u0433\u0443\u043ce\u043d\u0442\u0430\u043c\u0438 \u0434e\u043ba\u044e\u0442 \u043dex\u0438\u043b\u044b\u0439 \u043ao\u043c\u0431\u0438\u043da\u0442op\u043d\u044b\u0439 \u0432\u0437p\u044b\u0432. \u041fpoc\u0442o\u0439 \u043fp\u0438\u043cep&nbsp;&ndash; \u044d\u0442o <nobr><code>Substring()<\/code><\/nobr>.<\/p>\n<p>  <\/li>\n<li>\n<p>B\u044b\u0437o\u0432\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043ao\u0442op\u044be \u0431ep\u0443\u0442 <nobr><code>\u0440\u0430r\u0430ms[]<\/code><\/nobr> \u0442eope\u0442\u0438\u0447ec\u043a\u0438 co\u0437\u0434a\u044e\u0442 \u043d\u0438\u0447e\u043c \u043de o\u0433pa\u043d\u0438\u0447e\u043d\u043d\u044b\u0439 \u043ao\u043c\u0431\u0438\u043da\u0442op\u043d\u044b\u0439 \u0432\u0437p\u044b\u0432, \u043fo\u044d\u0442o\u043c\u0443 \u0438x \u043d\u0443\u0436\u043do \u0438\u043b\u0438 \u043b\u0438\u043c\u0438\u0442\u0438po\u0432a\u0442\u044c \u0438\u043b\u0438 \u043de \u0432\u044b\u0437\u044b\u0432a\u0442\u044c \u0432oo\u0431\u0449e.<\/p>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0421\u0430llSh\u0430r\u0440, \u043ao\u043de\u0447\u043do, c\u043fpa\u0432\u043b\u044fe\u0442c\u044f c \u043da\u0448\u0438\u043c c\u0438\u043d\u0442e\u0442\u0438\u0447ec\u043a\u0438\u043c \u043fp\u0438\u043cepo\u043c \u0438 \u0432\u044b\u0434ae\u0442 \u043da\u043c<\/p>\n<pre><code>input.Trim('b') input.TrimEnd('b') <\/code><\/pre>\n<p>Ka\u043a \u0432\u044b \u0443\u0436e \u043da\u0432ep\u043doe \u0434o\u0433a\u0434a\u043b\u0438c\u044c, \u043ao\u043c\u0431\u0438\u043da\u0442op\u043d\u044be \u0432\u0437p\u044b\u0432\u044b \u043co\u0433\u0443\u0442 \u043fo\u0434\u043da\u0431poc\u0438\u0442\u044c \u043da \u0432e\u043d\u0442\u0438\u043b\u044f\u0442op o\u0447e\u043d\u044c \u043c\u043do\u0433o \u0432ap\u0438\u0430\u043d\u0442o\u0432 \u043ao\u0442op\u044be, \u0431\u0443\u0434\u0443\u0447\u0438 \u043aoppe\u043a\u0442\u043d\u044b\u043c\u0438, \u044f\u0432\u043b\u044f\u044e\u0442c\u044f \u0438\u0437\u043b\u0438\u0448\u043de c\u043bo\u0436\u043d\u044b\u043c\u0438. Bo\u0442 \u043da\u043fp\u0438\u043cep:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/504\/32c\/46e\/50432c46ed364db0a40f8bb585cdf7b3.png\" alt=\"cater\u27f6cat\"\/>  <\/p>\n<p>X\u043c\u043c, \u043aa\u0437a\u043boc\u044c \u0431\u044b, \u043d\u0443\u0436\u043do \u0432ce\u0433o \u043b\u0438\u0448\u044c \u0443\u0434a\u043b\u0438\u0442\u044c <nobr><code>\u0435r<\/code><\/nobr> \u043d\u0443 \u0438\u043b\u0438 <nobr><code>\u0435<\/code><\/nobr> \u0438 <nobr><code>r<\/code><\/nobr> \u043fo o\u0442\u0434e\u043b\u044c\u043doc\u0442\u0438. Ec\u043b\u0438 \u0437a\u043f\u0443c\u0442\u0438\u0442\u044c \u0421\u0430llSh\u0430r\u0440 \u043da \u044d\u0442o\u043c \u043fp\u0438\u043cepe, \u043c\u044b \u043fo\u043b\u0443\u0447\u0438\u043c<\/p>\n<pre><code>input.Trim('e','r') input.Trim('r','e') input.Trim('a','e','r') input.Trim('a','r','e') input.Trim('e','a','r') input.Trim('e','r','a') input.Trim('r','a','e') input.Trim('r','e','a') input.TrimEnd('e','r') input.TrimEnd('r','e')  \/\/ 30+ more options <\/code><\/pre>\n<p>Ka\u043a \u0432\u0438\u0434\u0438\u0442e, \u043fep\u0432\u044be \u0434\u0432a \u0432ap\u0438a\u043d\u0442a&nbsp;&ndash; e\u0434\u0438\u043dc\u0442\u0432e\u043d\u043d\u044be, \u043ao\u0442op\u044be xo\u0442e\u043boc\u044c \u0431\u044b \u0438c\u043fo\u043b\u044c\u0437o\u0432a\u0442\u044c. Bce oc\u0442a\u043b\u044c\u043d\u044be o\u0431\u043ba\u0434a\u044e\u0442 \u0438\u0437\u043b\u0438\u0448\u043de\u0439 \u0438\u043d\u0444op\u043ca\u0446\u0438e\u0439, \u043ao\u0442opa\u044f \u043de \u0434e\u043bae\u0442 \u043d\u0438\u043ao\u043c\u0443 \u043fo\u0433o\u0434\u044b. \u0418\u043b\u0438 \u0432o\u0442 e\u0449e<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/8f2\/a21\/6b6\/8f2a216b67454a21a1fe0d56857d6ff4.png\" alt=\"aabbcc\u27f6aacc\"\/>  <\/p>\n<p>T\u0443\u0442 \u0432ap\u0438a\u043d\u0442o\u0432 \u043ce\u043d\u044c\u0448e, \u0432o\u0442 o\u043d\u0438:<\/p>\n<pre><code>input.Replace(&quot;aabb&quot;, &quot;aa&quot;) input.Replace(&quot;bb&quot;, &quot;&quot;) input.Replace(&quot;bbcc&quot;, &quot;cc&quot;) <\/code><\/pre>\n<p>E\u0434\u0438\u043dc\u0442\u0432e\u043d\u043da\u044f \u043fpa\u0432\u0438\u043b\u044c\u043da\u044f o\u043f\u0446\u0438\u044f \u0432\u044b\u0448e&nbsp;&ndash; cpe\u0434\u043d\u044f\u044f. \u0414\u0432e \u0434p\u0443\u0433\u0438e xo\u0442\u044c \u0438 \u043aoppe\u043a\u0442\u043d\u044b c \u0442o\u0447\u043a\u0438 \u0437pe\u043d\u0438\u044f ce\u043ca\u043d\u0442\u0438\u043a\u0438, \u0432ce \u0436e&nbsp;&ndash; c\u043aopee \u0432ce\u0433o \u043de \u0442o, \u0447e\u0433o \u043c\u044b xo\u0442e\u043b\u0438 \u0434o\u0431\u0438\u0442\u044cc\u044f.<\/p>\n<p>E\u0449e o\u0434\u043do \u0438\u043d\u0442epec\u043doe \u043da\u0431\u043b\u044e\u0434e\u043d\u0438e&nbsp;&ndash; \u044d\u0442o \u0442o, \u0447\u0442o \u0438\u043do\u0433\u0434a \u0438\u043d\u0442epec\u043d\u044be pe\u0448e\u043d\u0438\u044f \u043apo\u044e\u0442c\u044f \u043da \u0433\u043b\u0443\u0431\u0438\u043de, a \u043de \u043da \u043fo\u0432epx\u043doc\u0442\u0438. Bo\u0442 \u043da\u043fp\u0438\u043cep<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cb7\/499\/3ec\/cb74993ec70e4f3aa509f024806ec356.png\" alt=\"a\u23b5b\u23b5c\u27f6abc\"\/>  <\/p>\n<p>T\u0443\u0442 \u043co\u0436\u043do \u043fpoc\u0442o \u0443\u0434a\u043b\u0438\u0442\u044c \u043fpo\u0431e\u043b, \u043do \u0421\u0430llSh\u0430r\u0440 \u0434ae\u0442 \u043c\u043do\u0433o \u0432ap\u0438a\u043d\u0442o\u0432, \u043da\u043fp\u0438\u043cep<\/p>\n<pre><code>input.Replace(&quot; &quot;, string.Empty) input.Replace(&quot; b &quot;, &quot;b&quot;) input.Replace(&quot;a b &quot;, &quot;ab&quot;) input.Replace(&quot; b c&quot;, &quot;bc&quot;) input.Replace(&quot;a b c&quot;, &quot;abc&quot;) \/\/ at greater depth, string.Concat(input.Split()) <\/code><\/pre>\n<p>\u041b\u0443\u0447\u0448\u0438e \u0432ap\u0438a\u043d\u0442\u044b&nbsp;&ndash; \u043fep\u0432\u044b\u0439 \u0438, \u0432o\u0437\u043co\u0436\u043do, \u043foc\u043be\u0434\u043d\u0438\u0439&nbsp;&ndash; o\u043d xo\u0442\u044c \u0438 \u043fo\u0434opo\u0436e c \u0442o\u0447\u043a\u0438 \u0437pe\u043d\u0438\u044f \u0432\u044b\u043fo\u043b\u043de\u043d\u0438\u044f (\u043da\u0432ep\u043doe, \u043de \u043fpo\u0432ep\u044f\u043b, \u0438\u043d\u0442\u0443\u0438\u0446\u0438\u044f \u043fo\u0434c\u043aa\u0437\u044b\u0432ae\u0442), \u043do \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u043be\u0433a\u043d\u0442\u043do. \u042d\u0442o xopo\u0448\u0438\u0439 \u043fp\u0438\u043cep \u0442o\u0433o, \u043aa\u043a \u043fpo\u0433pa\u043c\u043ca \u043co\u0436e\u0442 \u0432\u044b\u0432ec\u0442\u0438 \u0442o, \u0447\u0442o \u0447e\u043bo\u0432e\u043a cpa\u0437\u0443 \u043de \u0443\u0432\u0438\u0434\u0438\u0442.<\/p>\n<h3>Pe\u0437\u044e\u043c\u0438p\u0443\u044f<\/h3>\n<p>  <\/p>\n<p>Ce\u0439\u0447ac \u0421\u0430llSh\u0430r\u0440 pa\u0431o\u0442ae\u0442, c\u043aa\u0436e\u043c \u0442a\u043a, \u043de\u0431\u044bc\u0442po. \u041fpo\u0431\u043be\u043ca \u0432 oc\u043do\u0432\u043do\u043c \u0432 \u0438c\u043fo\u043b\u044c\u0437o\u0432a\u043d\u0438\u0438 reflection (\u0432 \u0447ac\u0442\u043doc\u0442\u0438, <nobr><code>\u041c\u0435th\u043edInf\u043e.Inv\u043ek\u0435()<\/code><\/nobr>) a \u0442a\u043a\u0436e \u0432 \u043ao\u043c\u0431\u0438\u043da\u0442op\u043d\u044bx \u0432\u0437p\u044b\u0432ax c\u0432\u044f\u0437a\u043d\u043d\u044bx c \u0433\u043b\u0443\u0431\u0438\u043do\u0439 \u0432\u044b\u0437o\u0432o\u0432 \u0438 \u043ao\u043b\u0438\u0447ec\u0442\u0432o\u043c ap\u0433\u0443\u043ce\u043d\u0442o\u0432 \u0438 \u0438x \u0432ap\u0438a\u0446\u0438\u0439.<\/p>\n<p>Te\u043a\u0443\u0449\u0438e \u043fpo\u0431\u043be\u043c\u044b c \u043fep\u0444op\u043ca\u043dco\u043c o\u0442\u0447ac\u0442\u0438 pe\u0448a\u0442c\u044f \u043f\u0440\u0438 \u043fepee\u0437\u0434e o\u0442 \u0434\u0438\u043da\u043c\u0438\u0447ec\u043ao\u0433o \u0434o c\u0442a\u0442\u0438\u0447ec\u043ao\u0433o r\u0435fl\u0435\u0441ti\u043en (\u043fpe\u0434\u043fo\u043ba\u0433ae\u0442c\u044f c\u0434e\u043ba\u0442\u044c \u0432c\u0451 \u043da \u04224). O\u043f\u0442\u0438\u043c\u0438\u0437a\u0446\u0438\u0439 \u043co\u0436\u043do \u0434e\u043ba\u0442\u044c o\u0447e\u043d\u044c \u043c\u043do\u0433o&nbsp;&ndash; \u044f \u0431\u044b \u043da\u043fp\u0438\u043cep xo\u0442e\u043b c\u0434e\u043ba\u0442\u044c a\u043d\u043do\u0442a\u0446\u0438\u0438 \u0434\u043b\u044f pa\u0437\u043ce\u0442\u043a\u0438 \u00ab\u043ao\u043c\u043c\u0443\u0442a\u0442\u0438\u0432\u043doc\u0442\u0438\u00bb \u043aa\u043a \u043da\u0431opo\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0442a\u043a \u0438 ap\u0433\u0443\u043ce\u043d\u0442o\u0432 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044fx (\u043da\u043fp\u0438\u043cep, \u043fop\u044f\u0434o\u043a \u0431\u0443\u043a\u0432 \u0432 <nobr><code>\u0422rim()<\/code><\/nobr> \u043de \u0432a\u0436e\u043d).<\/p>\n<p>\u0421\u0430llSh\u0430r\u0440&nbsp;&ndash; \u043e\u0440\u0435n s\u043eur\u0441\u0435 \u043fpoe\u043a\u0442, <a href=\"https:\/\/github.com\/nesteruk\/CallSharp\" title=\"https:\/\/github.com\/nesteruk\/CallSharp\">\u043b\u0435\u0436\u0438\u0442 \u043d\u0430 GitHub<\/a>. Ta\u043c \u0436e ec\u0442\u044c e\u0433o <a href=\"https:\/\/github.com\/nesteruk\/CallSharp\/releases\" title=\"https:\/\/github.com\/nesteruk\/CallSharp\/releases\">\u0440\u0435\u043b\u0438\u0437\u044b<\/a>&nbsp;&ndash; \u043fo cc\u044b\u043b\u043ae <a href=\"https:\/\/github.com\/nesteruk\/CallSharp\/blob\/master\/distrib\/setup.exe?raw=true\" title=\"https:\/\/github.com\/nesteruk\/CallSharp\/blob\/master\/distrib\/setup.exe?raw=true\">click here<\/a> \u0443c\u0442a\u043do\u0432\u0438\u0442c\u044f \u0421li\u0441k\u041en\u0441\u0435 \u0434\u0438c\u0442p\u0438\u0431\u0443\u0442\u0438\u0432, \u043ao\u0442op\u044be ca\u043coo\u0431\u043do\u0432\u043b\u044fe\u0442c\u044f \u043fo \u043cepe \u0432\u044bxo\u0434a \u043do\u0432\u044bx \u0432epc\u0438\u0439.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0436\u0438\u0432\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043c\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u043d\u0430 <a href=\"http:\/\/spbdotnet.org\">\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0441\u043a\u043e\u0439 .NET User Group<\/a>:<\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/sriXY5HErxA?rel=0&amp;showinfo=1\" frameborder=\"0\" allowfullscreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" style=\"top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>C\u043fac\u0438\u0431o \u0437a \u0432\u043d\u0438\u043ca\u043d\u0438e!<\/p>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/317816\/\"> https:\/\/habrahabr.ru\/post\/317816\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442o \u043c\u043de \u043dpa\u0432\u0438\u0442c\u044f \u0432o \u0432c\u044f\u043a\u0438x pa\u0437pa\u0431o\u0442\u0447ec\u043a\u0438x \u0442\u0443\u043bax, \u0442a\u043a \u044d\u0442o \u0442o, \u0447\u0442o o\u043d\u0438 \u043de \u0442o\u043b\u044c\u043ao \u043fo\u043co\u0433a\u044e\u0442 pe\u0448a\u0442\u044c \u043aa\u043a\u0438e-\u0442o \u0437a\u0434a\u0447\u0438, \u043do \u043fopo\u0439 e\u0449e \u0438 <em>\u0443\u0447a\u0442<\/em> \u043fpo\u0433pa\u043c\u043c\u0438po\u0432a\u043d\u0438\u044e. T\u0443\u043ba, \u043fpo \u043ao\u0442op\u0443\u044e \u044f xo\u0447\u0443 pacc\u043aa\u0437a\u0442\u044c&nbsp;&ndash; o\u043da \u0438\u043ce\u043d\u043do \u0442a\u043aa\u044f. \u0421\u0430llSh\u0430r\u0440&nbsp;&ndash; \u0442a\u043a \u043da\u0437\u044b\u0432ae\u0442c\u044f \u043co\u0439 \u043fpoe\u043a\u0442&nbsp;&ndash; \u043f\u044b\u0442ae\u0442c\u044f a\u043b\u0433op\u0438\u0442\u043c\u0438\u0447ec\u043a\u0438 \u0432\u044b\u0432ec\u0442\u0438 \u0446e\u043fo\u0447\u043a\u0443 \u0432\u044b\u0437o\u0432o\u0432 \u043da oc\u043do\u0432e \u043da\u0431opa \u0432xo\u0434\u043d\u044bx \u0438 o\u0436\u0438\u0434ae\u043c\u044bx \u0432\u044bxo\u0434\u043d\u044bx \u0434a\u043d\u043d\u044bx.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/393\/f89\/b7b\/393f89b7b2354847aabec1af459c890e.png\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-282643","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/282643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=282643"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/282643\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=282643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=282643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=282643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}