Category Archives: .NET

C# клонировать list

Если элементы списка имеют тип значений, то чтобы склонировать list достаточно сделать следующее: List<int> newList = new List<int>(oldList);     Если элементы имеют ссылочный тип и имеют конструктор копирования, то тогда можно сделать так: List<SomeType> oldList = new List<SomeType>(); List<SomeType> newList = new List<SomeType>(oldList.Count); oldList.ForEach((item)=> { newList.Add(new SomeType(item));});  

C# удалить повторяющиеся пробелы

Иногда на C# (и не только) требуется удалить повторяющиеся пробелы в строке. Например, дана строка: a b c d и нужно получить на выходе: a b c d Для решения этой задачи достаточно воспользоваться регулярным выражением, которое также заменит повторяющиеся символы табуляции и новой строки: str = Regex.Replace(str, @”\s+”, ” “);

c# количество вхождений подстроки в строку

чтобы подсчитать количество вхождений подстроки substring в строку sourcestring: string sourcestring = “abcd1234abcd”; string substring = “abcd”; int count = (sourcestring.Length – sourcestring.Replace(substring, “”).Length)/substring.Length;    

C# сохранить поток в файл

сохранить поток (Stream) в файл (filename) можно следующим образом: public void SaveStreamToFile(Stream input, String filename) {      using (Stream output = File.OpenWrite(filename))      {      byte[] buffer = new byte[8 * 1024];      int len;      while ( (len = input.Read(buffer, 0, buffer.Length)) > 0)      {      output.Write(buffer, 0, len);      }      } }

C# получить имя файла из url

фрагмент кода, для того чтобы извлечь имя файла из строки url: String href = “http://test.com/dir1/file1.html”; Uri uri = new Uri(href); string filename = System.IO.Path.GetFileName(uri.LocalPath); //filename == “file1.html”