нужна помощь в кодировании c # - PullRequest
0 голосов
/ 17 июня 2011

Мои знания C # ограничены, и у меня возникли проблемы с получением этого кода. Поэтому я был бы очень признателен, если бы вы, ребята, смогли показать мне, где я ошибся.

Код:

StreamReader reader = new StreamReader(File.OpenRead(@"C:\C#Files\My Work\File.txt"));

string fileContent = reader.ReadToEnd();

reader.Close();

fileContent = fileContent.Replace("ccc","yyy");

StreamWriter writer =new StreamWriter(File.OpenWrite(@"C:\C#Files\My Work\File.txt"));

writer.Write(fileContent);

writer.Close();

Вот ошибки, которые я получаю:

FindandReplace.cs (1,1): ошибка CS0116: пространство имен не может напрямую содержать члены, такие как поля или методы

FindandReplace.cs (1,27): ошибка CS1518: ожидаемый класс, делегат, перечисление, интерфейс или структура

FindandReplace.cs (9,26): ошибка CS1518: ожидаемый класс, делегат, перечисление, интерфейс или структура

(Если это помогает, я пытаюсь автоматизировать функцию поиска и замены большинства текстовых процессоров, просто запустив эту программу.)

Спасибо.

Edit:

Да, у меня нет ни пространства имен, ни чего-либо еще.

И вот ошибка, которую я сейчас получаю:

C: \ C # Files> csc FindandReplace.cs Microsoft (R) Visual C # 2010, версия компилятора 4.0.30319.1 Авторское право (C) Microsoft Corporation. Все права защищены.

FindandReplace.cs (7,13): ошибка CS1519: недопустимый токен '(' в классе, структуре или объявление члена интерфейса FindandReplace.cs (9,13): ошибка CS1519: неверный токен '=' в классе, структуре или объявление члена интерфейса FindandReplace.cs (9,34): ошибка CS1519: неверный токен '(' в классе, структуре или объявление члена интерфейса FindandReplace.cs (13,13): ошибка CS1519: недопустимый токен '(' в классе, структуре или объявление члена интерфейса FindandReplace.cs (13,25): ошибка CS1519: неверный токен ')' в классе, структуре или объявление члена интерфейса FindandReplace.cs (15,13): ошибка CS1519: недопустимый токен '(' в классе, структуре или объявление члена интерфейса

Ответы [ 4 ]

1 голос
/ 17 июня 2011

Я думаю, что вы забыли определить класс и / или метод main, примерно так:

namespace Whatever 
{

    public class Programm 
    {
        public static void main (string[] args)
        {
            // your code
        }
    }
}
0 голосов
/ 04 июня 2012

Во время редактирования вашего кода я заметил это:

StreamWriter writer =new StreamWriter(File.OpenWrite(@"C:\C#Files\My Work\File.txt"));

Обратите внимание на ошибку кода?

Вероятно, это должно быть:

StreamWriter writer = new StreamWriter(File.OpenWrite(@"C:\C#Files\My Work\File.txt"));

Должен быть пробелпосле присвоения = оператор

0 голосов
/ 17 июня 2011

Это должно быть

using System;
using System.IO; 

namespace test {
    class example {
        static void Main() {
            StreamReader reader = new StreamReader(File.OpenRead(@"C:\newlog.txt")); 
            string fileContent = reader.ReadToEnd(); 
            reader.Close(); 
            fileContent = fileContent.Replace("ccc", "yyy"); 
            StreamWriter writer = new StreamWriter(File.OpenWrite(@"C:\log.txt")); 
            writer.Write(fileContent); 
            writer.Close(); 
        }
    }
}

Также, похоже, ваш код выглядит лучше, если вы используете метод static, предоставленный File class

        File.ReadAllLines();
        File.WriteAllLines(); 
0 голосов
/ 17 июня 2011

Вы поместили свой код в namespace, тогда как он должен быть внутри class.

Попробуйте заключить код в следующее:

public class MyClass
{
    public static void main (string [] args)
    {
        // Your code
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...