Считывание из файла: в результате вместо единицы выводится ее ASCII код - C#

Узнай цену своей работы

Формулировка задачи:

Считываю из файла, но в результате вместо 1 вижу ее ASCII код. В файле вектора из -1, 0, 1. Помогите, пожалуйста, сижу уже 2 день над этим(((
private void GetVectors()
        {
            int dx = (int)Math.Round((double)(Corner2.X - Corner1.X) / 10);
            int dy = (int)Math.Round((double)(Corner2.Y - Corner1.Y) / 10);
            
            for (int i = Corner1.X; i <= Corner2.X; i += dx)
            {
                graphics.DrawLine(pen1, new Point(i, Corner1.Y), new Point(i, Corner2.Y));                
            }
 
            for (int i = Corner1.Y; i <= Corner2.Y; i += dy)
            {
                graphics.DrawLine(pen1, new Point(Corner1.X, i), new Point(Corner2.X, i));
            }
 
            try
            {
                StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default);                
                int countOfRectangles = 10;
                
                for (int i = 0; i < countOfRectangles; i++)
                {
                    for (int j = 0; j < countOfRectangles; j++)
                    {
                        bool isShadedPixel = false;
                        for (int n = Corner1.Y + i * dy; n < Corner1.Y + (i + 1) * dy; n++)
                        {
                            for (int m = Corner1.X + j * dx; m < Corner1.X + (j + 1) * dx; m++) 
                            {
                                if (bitmap.GetPixel(m, n) == Color.FromArgb(255, 255, 0, 0))                                
                                { 
                                    isShadedPixel = true;
                                } 
                                if (isShadedPixel) break;                                                                       
                            }
                        }
                        if (isShadedPixel)
                        {
                            sw.Write("1");
                            //input.Add(1);
                        }
                        else
                        { 
                            sw.Write("0");
                            //input.Add(0);
                        }
                    }
                    //sw.WriteLine();
                }
                if (radioButton1.Checked)
                { 
                    sw.Write("\n1\n");
                    //mainInput.Add(1);                   
                }
                else if (radioButton2.Checked)
                { 
                    sw.Write("\n-1\n");
                    //mainInput.Add(-1);
                }
                sw.WriteLine();
                sw.Close();
            }          
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
        }
 
        public void ReadFromFile()
        {
            //StringReader sr = new StringReader("vectors.txt");
            //FileStream f = new FileStream(
            
            try
            {
                string[] lines = System.IO.File.ReadAllLines("vectors.txt", Encoding.Default);//.Split(' ').Select(n => int.Parse(n)).ToArray();
                foreach (string str in lines)
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        if ((i > 99) && (Math.IEEERemainder(i, 100) == 0)) mainInput.Add(str[i]);
                        else input.Add(str[i]);
                    }
                }
 
                using (StreamWriter sw = new StreamWriter("vectors.txt", true))
                {
                    for (int j = 0; j < input.Count; j++)
                    {
                        sw.Write(input.ElementAt(j));
                    }
                    sw.WriteLine();
                }
            }
            catch (FileNotFoundException e)
            {
                MessageBox.Show("Check the directory of file on existing" + e.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
        }

Решение задачи: «Считывание из файла: в результате вместо единицы выводится ее ASCII код»

textual
Листинг программы
input = new List<int>();
                using (StreamReader sr = new StreamReader("vectors.txt"))
                {
                    string text = sr.ReadToEnd();
                    string[] splitted = text.Split(" \n\r\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                    for (int i = 0; i < splitted.Length; i++)
                    {
                        input.Add(int.Parse(splitted[i]));
                    }
                }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы