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

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

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

Считываю из файла, но в результате вместо 1 вижу ее ASCII код. В файле вектора из -1, 0, 1. Помогите, пожалуйста, сижу уже 2 день над этим(((
Листинг программы
  1. private void GetVectors()
  2. {
  3. int dx = (int)Math.Round((double)(Corner2.X - Corner1.X) / 10);
  4. int dy = (int)Math.Round((double)(Corner2.Y - Corner1.Y) / 10);
  5. for (int i = Corner1.X; i <= Corner2.X; i += dx)
  6. {
  7. graphics.DrawLine(pen1, new Point(i, Corner1.Y), new Point(i, Corner2.Y));
  8. }
  9. for (int i = Corner1.Y; i <= Corner2.Y; i += dy)
  10. {
  11. graphics.DrawLine(pen1, new Point(Corner1.X, i), new Point(Corner2.X, i));
  12. }
  13. try
  14. {
  15. StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default);
  16. int countOfRectangles = 10;
  17. for (int i = 0; i < countOfRectangles; i++)
  18. {
  19. for (int j = 0; j < countOfRectangles; j++)
  20. {
  21. bool isShadedPixel = false;
  22. for (int n = Corner1.Y + i * dy; n < Corner1.Y + (i + 1) * dy; n++)
  23. {
  24. for (int m = Corner1.X + j * dx; m < Corner1.X + (j + 1) * dx; m++)
  25. {
  26. if (bitmap.GetPixel(m, n) == Color.FromArgb(255, 255, 0, 0))
  27. {
  28. isShadedPixel = true;
  29. }
  30. if (isShadedPixel) break;
  31. }
  32. }
  33. if (isShadedPixel)
  34. {
  35. sw.Write("1");
  36. //input.Add(1);
  37. }
  38. else
  39. {
  40. sw.Write("0");
  41. //input.Add(0);
  42. }
  43. }
  44. //sw.WriteLine();
  45. }
  46. if (radioButton1.Checked)
  47. {
  48. sw.Write("\n1\n");
  49. //mainInput.Add(1);
  50. }
  51. else if (radioButton2.Checked)
  52. {
  53. sw.Write("\n-1\n");
  54. //mainInput.Add(-1);
  55. }
  56. sw.WriteLine();
  57. sw.Close();
  58. }
  59. catch (Exception e)
  60. {
  61. Console.WriteLine("Exception: " + e.Message);
  62. }
  63. finally
  64. {
  65. Console.WriteLine("Executing finally block.");
  66. }
  67. }
  68. public void ReadFromFile()
  69. {
  70. //StringReader sr = new StringReader("vectors.txt");
  71. //FileStream f = new FileStream(
  72. try
  73. {
  74. string[] lines = System.IO.File.ReadAllLines("vectors.txt", Encoding.Default);//.Split(' ').Select(n => int.Parse(n)).ToArray();
  75. foreach (string str in lines)
  76. {
  77. for (int i = 0; i < str.Length; i++)
  78. {
  79. if ((i > 99) && (Math.IEEERemainder(i, 100) == 0)) mainInput.Add(str[i]);
  80. else input.Add(str[i]);
  81. }
  82. }
  83. using (StreamWriter sw = new StreamWriter("vectors.txt", true))
  84. {
  85. for (int j = 0; j < input.Count; j++)
  86. {
  87. sw.Write(input.ElementAt(j));
  88. }
  89. sw.WriteLine();
  90. }
  91. }
  92. catch (FileNotFoundException e)
  93. {
  94. MessageBox.Show("Check the directory of file on existing" + e.Message);
  95. }
  96. finally
  97. {
  98. Console.WriteLine("Executing finally block.");
  99. }
  100. }

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

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

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


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

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

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы