6 Mayıs 2018 Pazar

String Sınıfı

Giriş
Şu satırı dahil ederiz.
using System.Text;
Concat metodu
İki string'i birleştirip yeni bir string döner. Şöyle yaparız.
string str = string.Concat("...", "....");
Sadece iki string içinde değil çoklu string için de kullanılabilir. Şöyle yaparız.
string str = String.Concat("...","...","...","...", "...");
Contains metodu
İmzası şöyle.
bool Contains(string s)
Empty Alanı
Şöyle yaparız.
String.Empty
Equals metodu - string + string + StringComparison
Bu metod yerine StringComparer kullanılabilir. Şöyle yaparız.
if (string.Equals(..., ..., StringComparison.OrdinalIgnoreCase))
{
  ...
}
Format metodu
Örnek
Açıklaması şöyle
The # in the format string means display a digit if it is not zero. So when you have a 0 value, then it will not display anything.
Şöyle yaparız.
string.Format("{0:$#,#}", 12345)
Çıktı olarak şunu alırız.
$12,345
Örnek - currency
Şöyle yaparız. c ile para formatı belirtilir.
string.Format("{0:c}", 99.556551);
Örnek
Format içinde süslü parantez kullanmak istersek escape etmek gerekir. Şöyle yaparız.
string str= string.Format(@"Total Qty {{qty}} on Date {0}","01/01/2017");
Çıktı olarak şunu alırız.
Total Qty {qty} on Date 01/01/2017
IndexOf metodu - string
Şöyle yaparız
string str = "...";
int index = str.IndexOf("\"");
IndexOf - string + startPosition
Şöyle yaparız.
public static class StringExtensions {
  public static List<int> AllIndexesOf(this string str, string value) {
    if (String.IsNullOrEmpty(value))
      throw new ArgumentException("the string to find may not be empty", "value");
    List<int> indexes = new List<int>();
    for (int index = 0; ; index += value.Length) {
      index = str.IndexOf(value, index);
      if (index == -1)
        return indexes;
      indexes.Add(index);
    }
  }
}
Insert metodu - startIndex + str
Şöyle yaparız.
int pos = 1;
string result = str.Insert(pos, " static");
IsNullOrEmpty metodu
String null veya "" ise true döner. Geril kalan her şeyde false döner. Şöyle yaparız.
if (string.IsNullOrEmpty(textBox1.Text)){...}
IsNullOrWhiteSpace metodu
String null, "" veya boşluklardan (space,\t gibi) oluşuyorsa ise true döner. Geril kalan her şeyde false döner. Şöyle yaparız.
if (string.IsNullOrWhiteSpace(textBox1.Text)){...}
Bence her zaman bu metodu IsNullOrEmpty metoduna tercih edilmeli. Fark şöyle görülebilir.
string.IsNullOrWhiteSpace("\t");//true
string.IsNullOrEmpty("\t");     //false

string.IsNullOrWhiteSpace(" ");//true
string.IsNullOrEmpty(" ");     //false
Join metodu
Elimizde bir liste olsun. Listeyi birleştirmek için şöyle yaparız.
List<string> values = new List<string>(){"value 1","value 2","value 3","value 4"};
string delimiter = ",";
string str = String.Join(delimiter,values);
LastIndexOf metodu
Şöyle yaparız
string str = "...";
int index = str.LastIndexOf(".exe");
LastIndexOfAny metodu
Açıklaması şöyle
String.LastIndexOfAny Method (Char[], Int32) Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array. The search starts at a specified character position and proceeds backward toward the beginning of the string.
Şöyle yaparız.
char[] array = { '\n', ' ' };
var lastIndex = str.LastIndexOfAny(array);
if (lastIndex !=-1) {...}
Replace metodu - oldValue + newValue
İmzası şöyledir.
public String Replace(String oldValue, String newValue);
Şöyle yaparız.
string myline = "public methodname(parameters)"; 
string result = str.Replace("public ", "public static ")
Defalarca silmek için şöyle yaparız.
string s = "Pibabakekezza";
string r = "bake";
StringBuilder sb = new StringBuilder(s);
while (sb.Length != sb.Replace(r, "").Length)
{
}
Split metodu
Eğer ayraç verilmezse boşlukları ayraç kabul eder. Açıklaması şöyle
If the separator argument is null or contains no characters, the method treats white-space characters as the delimiters. White-space characters are defined by the Unicode standard; they return true if they are passed to the Char.IsWhiteSpace method.
Şöyle yaparız.
string[] tokens = str.Split();
Tek karakter ile şöyle yaparız.
string[] tokens = str.Split(',');
Çoklu karakter ile şöyle yaparız.
string[] tokens = str.Split(new[] {',', '-'});
Split metodu - separator + count
En fazla iki token elde etmek için şöyle yaparız.
str.Split(new char[] {':'}, 2))
Split metodu - separator + options
Şöyle yaparız.
string[] tokens =
  str.Split(new[] { ' ' }, 9, StringSplitOptions.RemoveEmptyEntries);
Substring metodu
Şöyle yaparız.
int start = ...;
int end   = ...;
string substr = str.Substring(strt, end - strt);
ToLower metodu
Şöyle yaparız
string str = "...";

str = str.ToLower();

Hiç yorum yok:

Yorum Gönder