powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Первые впечатления....
16 сообщений из 16, страница 1 из 1
Первые впечатления....
    #32419686
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первые впечатления противоречивые.

Вот работающий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
using System;

public class HelloWorld
{
 private String myCountry;

 public HelloWorld()
 {
  myCountry =  "Russia" ;
 }

 public String GetCountry
 {
  get
  {
   return myCountry;
  }
 }

 public void SetCountry(String p_country)
 {
   myCountry = p_country;
 }

 public static void Main()
 {
  HelloWorld hw = new HelloWorld( 0 );
  Console.WriteLine( "Hello World!!! My country is {0 }",hw.GetCountry);
  hw.SetCountry( "not USA" );
  Console.WriteLine( "My country is {0 }",hw.GetCountry);
 }
}


Код: plaintext
1.
2.
3.
F:\work\C#>HelloWorld.exe
Hello World!!! My country is Russia
My country is not USA


Программисты на Java сразу обратят внимание на странную игру с private полем myCountry. В C# нельзя вернуть значение обычным методом, для этого придумана конструкция :
Код: plaintext
1.
2.
3.
4.
get
{

}


В Java это бы выглядело так:
Код: plaintext
1.
2.
3.
4.
 public String GetCountry
 {
   return myCountry;
 }


Но в C# это вызывает ошибку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
F:\work\C#>csc HelloWorld.cs
Microsoft (R) Visual C# .NET Compiler version  7 . 00 . 9466 
for Microsoft (R) .NET Framework version  1 . 0 . 3705 
Copyright (C) Microsoft Corporation  2001 . All rights reserved.

HelloWorld.cs( 22 , 4 ): error CS1014: A get or set accessor expected
HelloWorld.cs( 21 , 3 ): error CS1043: { or ; expected
HelloWorld.cs( 21 , 3 ): error CS1043: { or ; expected


Соответсвенно для присвоения значения данной private переменной предлагается использовать конструкцию:
Код: plaintext
1.
2.
3.
4.
set
{
 myCountry = value;
}


Тем не менее как видно из примера я это сделал не так, а так как я это сделал в Java:
Код: plaintext
1.
2.
3.
4.
 public void SetCountry(String p_country)
 {
   myCountry = p_country;
 }


Всё это наводит на мысли, а какого х.... нужно было выдумать тогда эти get {} set {}. Тем более очевиден минус подхода C# - я могу присвоить значение только то которое присваивается, а в методе Java я мог бы произвести еще дополнительную обработку по необходимости.

Никчему не привела попытка создать просто класс, а не консольное приложение.
Вот такой простой код не компилируется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class HelloWorld
{
 private System.String myCountry;

 public HelloWorld()
 {
  myCountry =  "Russia" ;
 }
}


Код: plaintext
1.
error CS5001: Program 'HelloWorld.exe' does not have an entry point defined


Попробуйте мне обьяснить зачем классу точка входа?????
...
Рейтинг: 0 / 0
Первые впечатления....
    #32419760
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ C# нельзя вернуть значение обычным методом
это почему это?

пишем public string Method() {return someString;}

авторНо в C# это вызывает ошибку:
ну так softbuilder@inbox.ru, вы блин в java написали в свойстве

Код: plaintext
return myCountry;


а с# должен сам догадываться что ему возвращать?
Код: plaintext
1.
2.
3.
get
{

}



авторВсё это наводит на мысли, а какого х.... нужно было выдумать тогда эти get {} set {}. Тем более очевиден минус подхода C# - я могу присвоить значение только то которое присваивается, а в методе Java я мог бы произвести еще дополнительную обработку по необходимости.


здесь можно произвести такую же обработку и совсем не обязательно писать в лоб

Код: plaintext
myCountry = value;


это только вариант для примера.


авторНикчему не привела попытка создать просто класс, а не консольное приложение.

Что такое "просто класс"?
Берешь добавляешь Class Library и делаешь там сколько хочешь классов.
Если же вы вытерли просто в консольном приложении весь код и влепили класс, то в свойствах проекта все равно осталось Output Type - Console Application, если уж хочется так по-дикому извращаться (по-джавовски? ;) то поменяйте и там уж на Class Library. А то пытаемся скомпилировать консольное приложение и удивляемся - зачем же там точка входа?

Ну вы блин даёте :)
...
Рейтинг: 0 / 0
Первые впечатления....
    #32419770
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор а какого х.... нужно было выдумать тогда эти get {} set {}.
вообще-то это не в C# впервые появилось. и потом свойства полностью соответствуют принципам ООП, а именно инкапсуляции, так что не стоит на них наезжать :)
...
Рейтинг: 0 / 0
Первые впечатления....
    #32419788
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и вообще - не снаездов надо начинать, если не хочешь получит газават в ответ.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32419857
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если уж очень хочется сравнить Java и C#, то вот здесь
http://dotnetgrains.sql.ru/arc/iss.htm
со второго номера по пятый есть об этом статья.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420071
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве изложение моих впечатлений нарушает какие-либо правила форума?

Я что-то не понимаю вашу реакцию - это что проявление жёсткой цензуры?
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420124
Осел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softbuilder@inbox.ru
А мне твой вопрос понравился. Хоть я и ни в Java не в C# не разбираюсь.
О введении какой цензуры можно говорить, когда народу совсем нет? Любому гостю должны быть рады.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420261
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв свойствах проекта все равно осталось Output Type - Console Application

В каких свойствах проекта? hDrummer, мне кажется ты понять меня всё не можешь - я не использую VS .NET. Я набираю текст в wordpade, далее:
Код: plaintext
1.
csc HelloWorld.cs


И всё. Нет никакого проекта.

В понимании Java если есть класс - то он самодостаточен. Для того что-бы создать экземпляр класса не нужно никаких точек входа. Точки входа нужны для программы.


Ну ладно, чего спорить если MS так написал. Как есть так есть. Я только высказываю своё мнение.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420278
sharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый!
для компилирования класса в сборку необходимо указать одну единственную опцию компилятора /target:library, который просто по умолчанию равен /target:exe . итого имеем csc /target:library myclass.cs
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420296
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to sharper:


Супер!!! Спасибо, это мне как раз и нужно было понять.

Теперь получилось.


P.S. Намного лучше - когда народ конструктивно подходит к проблемам.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420309
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softbuilder@inbox.ruЯ что-то не понимаю вашу реакцию - это что проявление жёсткой цензуры?

Типичная реакция на воинствующее невежество - не хочу тебя обидеть, но твой выглядит именно как наезд (неграмотный) на C# со стороны пишущего на языке Java.

ОселО введении какой цензуры можно говорить, когда народу совсем нет? Любому гостю должны быть рады.
Где вы увидели цензуру, объясните мне пожалуйста?

softbuilder@inbox.ruhDrummer, мне кажется ты понять меня всё не можешь - я не использую VS .NET
А зря, хотя каким образом я должен был об этом догадаться? Я не телепат, а всё вышесказанное верно и для разработки проекта в VS.Net, которая уж всяко удобнее notepad'a или far'a в этом случае.

softbuilder@inbox.ruP.S. Намного лучше - когда народ конструктивно подходит к проблемам.
Вот и я о том же. Ведь это трудно назвать "конструктивным подходом" -
авторВсё это наводит на мысли, а какого х.... нужно было выдумать тогда эти get {} set {}.
и т.д. и т.п., или я не прав?
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420314
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hDrummer , не хочу втягиваться в выяснение отношений да и времени нет.

А по поводу того что я использую можно было понять из вопроса:
авторНо в C# это вызывает ошибку:
F:\work\C#>csc HelloWorld.cs
Microsoft (R) Visual C# .NET Compiler version 7.00.9466
for Microsoft (R) .NET Framework version 1.0.3705
Copyright (C) Microsoft Corporation 2001. All rights reserved.

HelloWorld.cs(22,4): error CS1014: A get or set accessor expected
HelloWorld.cs(21,3): error CS1043: { or ; expected
HelloWorld.cs(21,3): error CS1043: { or ; expected


Да и в другом топике я про SDK спрашивал.

Вобщем такая вот простая логическая цепь.
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420323
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2softbuilder@inbox.ru
Тут соглашусь, а в остальном - нет.
Ну да Бог с ним. Я не любитель holy wars, но и наездов не люблю.
Замнём для ясности?
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420359
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softbuilder@inbox.ru

У вас в голове каша из 2х понятий
- методов класса (в том числе Get/Set - в C# они уже не нужны и для их замены есть)
- свойства
...
Рейтинг: 0 / 0
Первые впечатления....
    #32420996
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не из двух
...
Рейтинг: 0 / 0
Первые впечатления....
    #32423801
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторнеобходимо указать одну единственную опцию компилятора /target:library

to sharper:

А есть ли возможность указать на это компилятору (типа директивы) в самом коде C#?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Первые впечатления....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]