متد Intern در سی شارپ
سلام دوستان در این سری از آموزش برنامه نویسی سی شارپ (C#) به آموزش متد Intern در سی شارپ می پردازیم از متد Intern در سی شارپ به منظور بررسی reference متغیر مورد استفاده قرار می گیرید در ادامه نحوه استفاده از متد Intern در سی شارپ را برای شما قرار میدهیم با ما همراه باشید.
همانطور که گفتیم از Intern جهت بررسی منبع یک رشته یا Reference رشته مورد استفاده قرار می گیرید.
syntax متد Intetn همانند زیر است.
1 2 3 | public static string Intern( string str ) |
متد بالا یک ورودی از نوع رشته و یک خروجی از نوع رشته دارد در صورتی که یک رشته را به این متد دهید آن را هم Reference متغیر دیگر می کند.
در ادامه مثال های مختلفی قرار میدهیم تا آنها را بررسی کنید.
مثال زیر را در نظر بگیرید.
1 2 3 4 5 | string s1 = "MyTest"; string s2 = new StringBuilder().Append("My").Append("Test").ToString(); string s3 = String.Intern(s2); Console.WriteLine((Object)s2==(Object)s1); // Different references. Console.WriteLine((Object)s3==(Object)s1); // The same reference. |
کد زیر یک مثال دیگر
1 2 3 4 5 6 7 8 | string str1 = String.Empty; string str2 = String.Empty; StringBuilder sb = new StringBuilder().Append(String.Empty); str2 = String.Intern(sb.ToString()); if((object)str1==(object)str2) Console.WriteLine("The strings are equal."); else Console.WriteLine("The strings are not equal."); |
در بالا در صورتی که خانه متغیر ها در یک بخش قرار گرفته باشد (که با استفاده از متد Intern این کار روانجام دادیم ) خروجی برابر با equal یا برابر خواهد بود.
مثال زیر را نظر بگیرید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | using System; using System.Text; class Sample { public static void Main() { String s1 = "MyTest"; String s2 = new StringBuilder().Append("My").Append("Test").ToString(); String s3 = String.Intern(s2); Console.WriteLine("s1 == '{0}'", s1); Console.WriteLine("s2 == '{0}'", s2); Console.WriteLine("s3 == '{0}'", s3); Console.WriteLine("Is s2 the same reference as s1?: {0}", (Object)s2==(Object)s1); Console.WriteLine("Is s3 the same reference as s1?: {0}", (Object)s3==(Object)s1); } } |
خروجی کد بالا همانند زیر خواهد بود.
1 2 3 4 5 6 7 8 | /* This example produces the following results: s1 == 'MyTest' s2 == 'MyTest' s3 == 'MyTest' Is s2 the same reference as s1?: False Is s3 the same reference as s1?: True */ |
این آموزش هم به پایان رسید.
موفق و پیروز باشید.