.NET рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдпреБрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ "рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╕реНрдЯреНрд░реИрдЯрдмреНрдпреВрдЯрд░реА рдХреЛ рдХреЙрдирдЯреЗрдирдиреЗрдЯ
рд╕реНрдЯреНрд░реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ"ред рдЬреИрд╕реЗ "
рдЕрдкрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдорд╣рдВрдЧрд╛ рд╣реИ, "
рд╕рд╣рдорддрд┐ рдХрд╛ рдмрдпрд╛рди рдЕрдХреНрд╕рд░ рдЧрд▓рдд рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣рдардзрд░реНрдорд┐рддрд╛ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрдкрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд┐рдердХ рдЬрд┐рддрдирд╛ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ .NET рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВред рдФрд░, рдкрдардиреАрдпрддрд╛ рдХреЗ рдирд╛рдо рдкрд░, рдЕрдм рд╕реЗ рдореИрдВ .NET рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдирд╛рдорд┐рдд рдХрд░реВрдВрдЧрд╛, рди рдХрд┐ "рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдпрд╛ "System.String"ред
рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рд╕реА # -рд╕реНрдкреЗрд╢рд▓ рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ .NET рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╣реВрдб рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдШрдирди рддрдВрддреНрд░ рд╣реИред
рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡реЗ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рд░рдгреА рдХреЛ рд╕рдорд╡рд░реНрддреА рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдФрд░ рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддреА рд╣реИ, рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрд░реНрди рдХреЛ рдХреЙрдирдиреЗрдЯреЗрдЯреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдмрд╣реБрдд рд╕рд╣реА рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
using System; public class Test { static void Main() { DateTime start = DateTime.Now; string x = ""; for (int i=0; i < 100000; i++) { x += "!"; } DateTime end = DateTime.Now; Console.WriteLine ("Time taken: {0}", end-start); } }
рдореЗрд░реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддреЗрдЬрд╝ рд▓реИрдкрдЯреЙрдк рдкрд░, рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 10 рд╕реЗрдХрдВрдб рд▓рдЧреЗред рдпрджрд┐ рдЖрдк рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдПрдХ рдорд┐рдирдЯ рддрдХ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред .NET 2.0 рдмреАрдЯрд╛ 2 рдкрд░, рдкрд░рд┐рдгрд╛рдо рдереЛрдбрд╝реЗ рдмреЗрд╣рддрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдирд╣реАрдВред рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдиреЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП, "
+=
" рдСрдкрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рд▓рд╛рдЗрди рдкрд╣рд▓реЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди
x += "!";
рдПрдХреНрд╕рдкреНрд░реЗрд╢рди
x = x+"!";
рдмрд┐рд▓реНрдХреБрд▓ рдмрд░рд╛рдмрд░ рд╣реИ
x = x+"!";
ред рдпрд╣рд╛рдВ, рд╕рдВрдШрдирди рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рд░реЗрдЦрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореМрдЬреВрджрд╛ рдореВрд▓реНрдп
x
рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдорд╡рд░реНрддреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ (
"!"
)ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрдВрдХреНрддрд┐ рдмрдврд╝рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЬреЛ рд╣рд░ рд╕рдордп рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреЙрдкреА рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕реАрд▓рд┐рдП рдЬрдм рдореИрдВрдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЛрдЧреБрдиреА рдХреА, рд╕рдордп рджреЛрдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдпрд╛ред
рдпрд╣ рд╕рдВрдШрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдЧрд░ рдХреЛрдИ рдЖрдкрдХреЛ рдЦрд░реАрджрд╛рд░реА рдХреА рд╕реВрдЪреА рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд╣реИ рдирд╛? рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреБрд▓рд╕реНрдЯрд▓ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВред
StringBuilder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдФрд░ рдпрд╣рд╛рдБ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдорддреБрд▓реНрдп (
x
рдХреЗ рд╕рдорд╛рди рдЕрдВрддрд┐рдо рдореВрд▓реНрдп рдХреЗ рдЕрд░реНрде рдореЗрдВ рд╕рдорддреБрд▓реНрдп) рд╣реИ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ:
using System; using System.Text; public class Test { static void Main() { DateTime start = DateTime.Now; StringBuilder builder = new StringBuilder(); for (int i=0; i < 100000; i++) { builder.Append("!"); } string x = builder.ToString(); DateTime end = DateTime.Now; Console.WriteLine ("Time taken: {0}", end-start); } }
рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░, рдпрд╣ рдХреЛрдб рдЗрддрдиреА рддреЗрдЬреА рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдордп-рдорд╛рдкрдиреЗ рд╡рд╛рд▓рд╛ рддрдВрддреНрд░ рдЬреЛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЕрдХреНрд╖рдо рд╣реИ рдФрд░ рд╕рдВрддреЛрд╖рдЬрдирдХ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рдорд┐рд▓рд┐рдпрди (рдпрд╛рдиреА, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рдЧреБрдирд╛ рдЕрдзрд┐рдХ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 10 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп 30-40
рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓рдЧрднрдЧ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ (рдпрд╛рдиреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдХреЗ, рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рднреА рджреЛрдЧреБрдирд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреВрдж рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдСрдкрд░реЗрд╢рди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдЬреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрдВрдХреНрддрд┐ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЧрдИ рд╣реИред StringBuilder рдореЗрдВ рдЗрд╕рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдмрдлрд╝рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрдлрд╝рд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдЬрдм рдирдИ рдЬреБрдбрд╝рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЗрдВ рдмрдлрд░ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирдХрд▓ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рдеред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрдпреВрд▓рд░ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдПрдХ рд╣реА рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ; рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗрд╡рд▓ рдЙрдирдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди
mscorlib
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА
mscorlib
рд╕реЗ
mscorlib
ред рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрддрд┐рдо рдЖрдХрд╛рд░ (рд▓рдВрдмрд╛рдИ) рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рдЖрдЦрд┐рд░рдХрд╛рд░, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдо
рдХрдВрд╕рдЯреНрд░рдХреНрд╢рди рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрд░реНрд▓рд┐рдпрд░ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдХрд╛рд░, рдФрд░ рд╕рдВрдШрдирди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ - рдмрдлрд░ рднрд░рддреЗ рд╕рдордп рдФрд░ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрдпреВрд▓рд░ рдирдИ рдХреЙрдкреА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрдлрд░ рдХреЗ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рднрд░рдиреЗ рдФрд░ рдХреЙрдкреА рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рддреЛ рдЬрдм рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕реНрдЯреНрд░реИрдВрдЧрдмреНрдпреВрдЯреАрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдирд╣реАрдВред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ "рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдХрдерди рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдХреБрдЫ рд▓реЛрдЧ рдореВрд▓ рдмрд╛рддреЗрдВ рд╕рдордЭреЗ рдмрд┐рдирд╛ рдЗрд╕ рдХрдерди рдХреЛ рдПрдХ рд╣рдардзрд░реНрдорд┐рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡реЗ рдРрд╕реЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
string name = firstName + " " + lastName; Person person = new Person (name);
рдЗрд╕ рддрд░рд╣:
рдФрд░ рдпрд╣ рд╕рдм рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рдирд╛рдо рдкрд░ред рдпрджрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реЛрдЧрд╛, рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдпрд╣
рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдХреБрдЫ рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИрдВред рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдмрд┐рдВрджреБ рдХреЗрд╡рд▓ рддрднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдб рдХрд╛ рдпрд╣ рдЯреБрдХрдбрд╝рд╛ рдмрд╣реБрдд, рдмрд╣реБрдд рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реВрдХреНрд╖реНрдо рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдХрд╛ рдмрд┐рдЧрдбрд╝рдирд╛ (рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рднреА рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдкрдардиреАрдп рд╣реИ) рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, StringBuilder рдХреЗ рд╕рд╛рде рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг, рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
рдХрдо рдЙрддреНрдкрд╛рджрдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рддреЛ рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж рдореИрдВ рдХрд╣реВрдВрдЧрд╛ - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; рд▓реЗрдХрд┐рди рдЬрдм StringBuilder рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрдо рдкрдардиреАрдп рдФрд░ рдХрдо рдЙрддреНрдкрд╛рджрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдмрдХрд╡рд╛рд╕ рд╣реИред
рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓рд╛ рдирд╛рдо рдФрд░ рдЕрдВрддрд┐рдо рдирд╛рдо "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдЪрд░ рд╣реИрдВ рдФрд░ рди рдХрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ (рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ), рддреЛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлреЛрди рдХреЙрд▓, рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ:
string name = String.Concat (firstName, " ", lastName); Person person = new Person (name);
String.Concat рд╡рд┐рдзрд┐ рдПрдХ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ) рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓реЗрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдореЗрдВ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ "glues" рдХрд░рддреА рд╣реИред String.Concat рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдзрд┐рднрд╛рд░ рд╣реИрдВ - рдХреБрдЫ рдХрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд▓реЗрддреЗ рд╣реИрдВ, рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ
Object
рдХрдИ рдЪрд░ рд▓реЗрддреЗ рд╣реИрдВ (рдЬреЛ рд╕рдорд╛рдкреНтАНрдд рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ), рдФрд░ рдХреБрдЫ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВред рд╕рднреА рдУрд╡рд░рд▓реЛрдб рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдШрдирди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, String.Concat рдЗрд╕реЗ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдкрдврд╝рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ - рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдк
Object
рдЪрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ рдЪрд░ рдХреЗ рд▓рд┐рдП String.Concat рдПрдХ рдирдпрд╛ рдЕрд╕реНрдерд╛рдпреА (рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ) рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдПрдЧрд╛ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░реЗрдЧрд╛) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА)ред рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рд╕рдВрдШрдирди рдХреЗ рд╕рдордп, рд╕реНрдЯреНрд░рд┐рдВрдЧ.рдХрдВрдХреЗрдЯ рд╕рд╣реА рдврдВрдЧ рд╕реЗ "рдЬрд╛рдирддрд╛ рд╣реИ" рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реИрдВ, рдЖрджрд┐ред
рджреВрд╕рд░реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп, StringBuilder рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ (рдФрд░ рд╣рдордиреЗ рдЙрд╕ рдЖрдХрд╛рд░ рдХреЛ "рдирд╣реАрдВ рдмрддрд╛рдпрд╛" рдФрд░ рдЕрдЧрд░ рд╣рдордиреЗ рдХрд┐рдпрд╛, рддреЛ рд╣рдо рдХреЛрдб рдХреЛ рдФрд░ рднреА рдХрдо рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдВрдЧреЗ), рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкреНрд░рд╛рд░рдВрдн рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рдкрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред , рдФрд░ StringBuilder рдХреЛ рдПрдХ рдирдпрд╛ рдмрдирд╛рдХрд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдХрд░ рдЗрд╕реЗ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, StringBuilder рдмрдлрд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐, рдЖрдЦрд┐рд░рдХрд╛рд░, рдмрдлрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ StringBuilder рд╣реИ)ред рддреЛ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рдмреЗрд╣рддрд░ рд╣реИ?
рдЗрд╕ рдЦрдВрдб рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреБрд░рдВрдд рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рд╕рднреА рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред Concat, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ, рдХрд┐рд╕реА рднреА рдордзреНрдпрд╡рд░реНрддреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ред рд╢реБрд░реБрдЖрддреА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рднрдВрдбрд╛рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрд░реНрд▓реНрдЯ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрд╣реА рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, StringBuilder рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рддрд╛рд░реЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рдирдХрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдпрджрд┐ рд╕рднреА рд▓рд╛рдЗрдиреЗрдВ рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдФрд░ рдХреЛрдИ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреБрд▓рд╕реНрдЯрд▓ рдХрд┐рд╕реА рдХрд╛рдо рдХрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╕реНрдерд┐рд░рд╛рдВрдХ
рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдмрд╛рдд рдЖрдиреЗ рдкрд░ рд╕реНрдерд┐рддрд┐ рдФрд░ рднреА рддрдирд╛рд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреА рд╣реИ (рдореИрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
string x = "hello" + " " + "there";
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
string x = "hello" + " " + "there";
рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
string x = "hello" + " " + "there";
? рдпрд╣ рдорд╛рдирдирд╛ тАЛтАЛрддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ String.Concat рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
string x = "hello there";
ред рдХрдВрдкрд╛рдЗрд▓рд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ
x
рд╕рднреА рдШрдЯрдХ рд╕рдВрдХрд▓рд┐рдд рд╕рдордп рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрди рд╕рднреА рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░
"hello there"
рдорд╛рди рдХреЗ рд╕рд╛рде рд╕реНрдЯреНрд░рд┐рдВрдЧ
x
рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред StringBuilder рдХреЗ рддрд╣рдд рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдФрд░ рд╕реАрдкреАрдпреВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдкреНрд░рднрд╛рд╡реА рд╣реИ, рди рдХрд┐ рдЕрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдорд╛рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдВрдЧреВрдареЗ рдХреЗ рдирд┐рдпрдо
рддреЛ, рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рдирд╛ рд╣реИ, рдФрд░ "рд╕рд░рд▓" рд╕рдВрдпреЛрдЬрди рдХрдм рдХрд░рдирд╛ рд╣реИ?
- рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдм рдЖрдк рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд▓реВрдк рдореЗрдВ рддрд╛рд░реЛрдВ рдХреЛ рдЧрд╛рдврд╝рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ (рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп), рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдм рд╕реНрдЯреНрд░рд┐рдВрдЧрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реВрдк рдореЗрдВ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рднреАрддрд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреЛ рдкрдврд╝рдХрд░ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрдврд╝рдирд╛, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ
+=
рдСрдкрд░реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рдЪрд░рд┐рддреНрд░ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЛ "рдорд╛рд░рдирд╛" рд╣реЛрдЧрд╛ред - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
+=
рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдк рдПрдХ рдмрдпрд╛рди рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рддрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ String.Concat рдкрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдЗрди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ String.Join рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред - рдХреЛрдб рдХреЛ рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рддреЛрдбрд╝рдиреЗ рдФрд░
+
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдбрд░реЛ рдордд - рдкрд░рд┐рдгрд╛рдо рд╕рдорд╛рди рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд╢рд╛рдмреНрджрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рддреЛ рдЗрд╕реЗ рдХрдИ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рд╕реЗ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред - рдпрджрд┐ рдЖрдкрдХреЛ рдХрд╣реАрдВ рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдо рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдпрд╛рдиреА, рддрд╛рд░ рдХреЗ рдЕрд╕реНрдерд╛рдпреА рднрдВрдбрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдмрджрд▓рддреЗ рд╣реБрдП), рдлрд┐рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрдпреВрд▓рд░ рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рдирд╛рдо рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдкреВрд░рд╛ рдирд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рддреАрд╕рд░рд╛ рддрддреНрд╡ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧрд┐рди) рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрд░реБрдЗрдЯ рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрдм рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдкреНрд░рдердо рдирд╛рдо + рдЕрдВрддрд┐рдо рдирд╛рдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдПрдХ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд┐рдирд╛, рдХрд╣реАрдВ рдФрд░ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдирд╛рдо рдФрд░ рдЙрдкрдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░
Person
рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдХрд░)ред - рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ рдХреЛ рд╕рдореЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╣реА рдмрдпрд╛рди рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЙрдирдХрдЯ, рддреЛ "рдХреНрд▓рд╛рд╕рд┐рдХрд▓" - рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрд░реНрдЯрд▓ рдХрдВрд╕рдЯреНрд░рдХреНрд╢рди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдБ, рдЧрддрд┐ рдЙрдирдХреА рд▓рдВрдмрд╛рдИ рдкрд░, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрд╕ рдХреНрд░рдо рдкрд░ рдЬрд┐рд╕рдореЗрдВ рд░реЗрдЦрд╛рдПрдБ рд╕рдорддрд▓ рд╣реЛрдВрдЧреА, рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрд╕рдЯреНрд░рдХреНрд╢рди рдкреНрд░рджрд░реНрд╢рди рдХреА рдЕрдбрд╝рдЪрди рд╣реИ рдФрд░ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкреЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЪреБрдиреЗрдВред