Разные нужные рецепты на C#

  • Михаил
  • 12 мин. на прочтение
  • 111
  • 20 Jun 2022
  • 20 Jun 2022

Поиск неполного соответствия в List


 
    
       List<_Search> list = UList.FindAll(x => x.p1.Contains(value));
       return list;
    
    


Свойство с данными для всего сервера, с подтяжкой данных из базы


 
    
        public List<_Search> UList
        {
            get
            {
                if (HttpContext.Current.Application["UserList"] == null) return UList = db.Select_Search2();
                else return HttpContext.Current.Application["UserList"] as List<_Search>;
            }
            set
            {
                HttpContext.Current.Application.Lock();
                HttpContext.Current.Application["UserList"] = value;
                HttpContext.Current.Application.UnLock();
            }
        }
    


Как удалить файлы старше N дней


 
    
        using System;
        using System.IO;
 
        // удалить файлы старше N дней
        int delDay= 1; // дни (через сколько удалять старые файлы)
        string[] files = Directory.GetFiles(“C:\folder”); // получаем все файлы из указанного каталога
        foreach (string file in files) // удаление старых файлов в цикле
        {
            FileInfo fi = new FileInfo(file);
            if (fi.CreationTime < DateTime.Now.AddDays(-delDay)) { fi.Delete(); } // если дата создания файла меньше (сегодня - delDay), то удаляем файл
        }
    
    


Как передать в новый поток метода с параметрами


 
    
        {
            System.Threading.Thread MyThread1 =
                 new System.Threading.Thread(delegate() { MyMetod(2,2); });
            MyThread1.Start();
 
        }
        
        void  MyMetod( int a, int b)
        {
            MessageBox.Show((a * b).ToString());
        }
    
    


Как преобразовать файл в BASE64 и обратно


 
    
        // File to string BASE64
        Byte[] bytes = File.ReadAllBytes("path");
        String file = Convert.ToBase64String(bytes);
        
        // string BASE64 to file
        Byte[] bytes = Convert.FromBase64String(b64Str);
        File.WriteAllBytes(path, bytes);
    
    


Как преобразовать string в byte[]


 
    
        {
            string ss = "Da";
            var ssinstring = Encoding.UTF8.GetBytes(ss);
        }
    
    


Изменение размера картинок на c#


 
    
        Bitmap bp = new Bitmap(newSize.Width, newSize.Height);
        using (Graphics g = Graphics.FromImage(bp))
        {
        //Сглаживание и интерполяция
        g.SmoothingMode = SmoothingMode.HighQuality;
        g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        g.PixelOffsetMode = PixelOffsetMode.HighQuality;
        //Изменение размера
        Rectangle rect = new Rectangle(0, 0, thumbSize.Width, thumbSize.Height);
        g.DrawImage(image, rect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
        }
    
    


Image to Base64 String and Base64 String to Image


 
    
        static string base64String = null;  
        public string ImageToBase64()   
        {  
            string path = "D:\\SampleImage.jpg";  
            using(System.Drawing.Image image = System.Drawing.Image.FromFile(path))  
            {  
                using(MemoryStream m = new MemoryStream())  
                {  
                    image.Save(m, image.RawFormat);  
                    byte[] imageBytes = m.ToArray();  
                    base64String = Convert.ToBase64String(imageBytes);  
                    return base64String;  
                }  
            }  
        }  
        public System.Drawing.Image Base64ToImage()   
        {  
            byte[] imageBytes = Convert.FromBase64String(base64String);  
            MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);  
            ms.Write(imageBytes, 0, imageBytes.Length);  
            System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);  
            return image;  
        }  
        protected void ImageToBase_Click(object sender, EventArgs e)   
        {  
            TextBox1.Text = ImageToBase64();  
        }  
        protected void BaseToImage_Click(object sender, EventArgs e)  
        {  
            Base64ToImage().Save(Server.MapPath("~/Images/Hello.jpg"));  
            Image1.ImageUrl = "~/Images/Hello.jpg";  
        }