Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
Kolovorot
Дата 7.11.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Для того чтобы получить диалоговое окно для открытия файл есть класс OpenFileDialog:
Код

using System.Windows.Forms;

OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.ShowDialog();


А какой класс нужен для того что получить диалог с указанием нужной папки?
Partizan, благодарю.

Это сообщение отредактировал(а) Kolovorot - 7.11.2009, 14:44
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
Partizan
Дата 7.11.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



Kolovorot, FolderBrowserDialog


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
gif0
Дата 12.11.2009, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.11.2009

Репутация: нет
Всего: нет



Как известно, в C# для фактического создания объектов предназначено ключевое слово new. Но почему при создании строки это слово можно не использовать? Т.е. можно написать так:
string a = "привет";
И еще вопрос,  тип String чем-то отличается от типа string?

PM MAIL   Вверх
gif0
Дата 12.11.2009, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.11.2009

Репутация: нет
Всего: нет



И еще, когда я создаю класс, наследующий определенный интерфейс, то при реализации абстрактных членов этого интерфейса мне нужно использовать ключевое слово override?
Изучаю C# по книге Троелсена. Он это не разъясняет, а в листингах можно встретить реализацию как с использованием слова override, так и без него.
PM MAIL   Вверх
Exai1e
Дата 12.11.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



Цитата(gif0 @  12.11.2009,  21:28 Найти цитируемый пост)
И еще, когда я создаю класс, наследующий определенный интерфейс, то при реализации абстрактных членов этого интерфейса мне нужно использовать ключевое слово override?

Если создаеш интерфейс так
Код

    public interface IServerService
    {
        int SomeMethod(int myParam);
//some code
    }

то реализовываеш вот так:
Код

    public class ServerService : IServerService
    {
        public int SomeMethod(int myParam)
        {
            //some code
        }
   }

тут про Override

Цитата(gif0 @  12.11.2009,  20:29 Найти цитируемый пост)
Как известно, в C# для фактического создания объектов предназначено ключевое слово new. Но почему при создании строки это слово можно не использовать? Т.е. можно написать так:
string a = "привет";
И еще вопрос,  тип String чем-то отличается от типа string?

MSDN:
Объект "String" Позволяет управлять текстовыми строками, форматировать их и выполнять поиск подстрок в строках.
String

string - это тип переменной, к примеру как int, byte, etc

А вообще почаще заглядывай в MSDN там можно найти много интересной информации smile
Цитата

string a = "привет";

да, в этом случаи оператор new не нужен

Это сообщение отредактировал(а) Exai1e - 12.11.2009, 21:43


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
gif0
Дата 12.11.2009, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.11.2009

Репутация: нет
Всего: нет



Exai1e, то, что ключевое слово override не нужно использовать при реализации абстрактных методов интерфейса я уже и так понял. Просто кое-что перепутал в исходнике.

Методом тыка я выяснил, что String  и string - это все краткая запись (очевидно - псевдоним) для System.String. 

Exai1e, вы пишете:
Цитата

MSDN:
Объект "String" Позволяет управлять текстовыми строками, форматировать их и выполнять поиск подстрок в строках.

string - это тип переменной, к примеру, как int, byte, etc


Вы, по-видимому, сами не понимаете, о чем написали.  String тоже "позволяет управлять текстовыми строками, форматировать их и выполнять поиск подстрок в строках". Повторюсь, string - это тоже самое, что и String. 

Вы пишете, "string - это тип переменной, к примеру как int, byte, etc". String - это тоже тип переменной, как и int, byte, etc. 
В C# int, byte, etc - это классы (string  - это тоже класс).

Цитата

string a = "привет";

да, в этом случаи оператор new не нужен


Я знаю, что не нужен. МЕНЯ ИНТЕРЕСУЕТ, ПОЧЕМУ НЕ НУЖЕНО?

Если я вас не совсем правильно понял, и вы имели в виду, что String  - это значимый тип, то вы ошиблись. String - это ссылочный тип.

Это сообщение отредактировал(а) gif0 - 12.11.2009, 23:03
PM MAIL   Вверх
wester
Дата 12.11.2009, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



gif0
потому что ты не создаешь новый тип , 
допустим
Код

nameClass class = new nClass();

здесь мы создаем новый тип данных типа nameClass по имени class

для string кстати говоря можно использовать оператор new
например что бы инициировать переменную начальным значением "str" можно использовать 
как
string stroka = new string("str");
тут мы создаем новый тип string , со значением "str" переданным в конструкторе класса 
но чаще всего все используют для краткости и простоты конструкцию
string stroka = "str";
код (если не ошибаюсь,знающие люди поправят) аналогичен верхнему 

вообщем неверно написал 
string это просто ссылочная переменная , оператор new можно использовать если допустим нужно из массива char получить строку

а string и String в net Framework одно и тоже , просто первый тип - это тип C# , а второй - тип Framework 
это то же самое что int и Int32

Это сообщение отредактировал(а) wester - 13.11.2009, 00:19
PM MAIL   Вверх
Exai1e
Дата 13.11.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



gif0
Цитата(gif0 @  12.11.2009,  22:48 Найти цитируемый пост)
Вы, по-видимому, сами не понимаете, о чем написали.

это была цитата из MSDN


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Exai1e
Дата 13.11.2009, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



Цитата(wester @  12.11.2009,  23:46 Найти цитируемый пост)
код (если не ошибаюсь,знающие люди поправят) аналогичен верхнему 

Цитата

Объекты String можно создавать неявно с помощью строковых литералов. Объекты String, созданные таким способом (и называемые "примитивными" строками), обрабатываются иначе, чем объекты String, созданные с помощью оператора new. Можно считывать свойства примитивных строк и вызывать для них методы, однако для таких строк нельзя создавать новые свойства и добавлять к ним методы.

MSDN


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
wester
Дата 13.11.2009, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



Exai1e
да я там и с оператором new накосячил , 

вот это не совсем понял 
Цитата

однако для таких строк нельзя создавать новые свойства и добавлять к ним методы.

что за методы и свойства ?
PM MAIL   Вверх
Exai1e
Дата 13.11.2009, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



wester, http://msdn.microsoft.com/ru-ru/library/cy7fw33f.aspx
вот тут внизу где "Пример 1" и "Пример 2" показан пример

диз инфо. ошибся, извиняюсь. это объект "JString" языка JScript

Добавлено через 3 минуты и 59 секунд
wester, судя по всему, ты был прав по поводу
Цитата

код (если не ошибаюсь,знающие люди поправят) аналогичен верхнему 

извиняюсь еще раз. голова не варит, приболел чето, температура под 39+  smile накасячил :(

Это сообщение отредактировал(а) Exai1e - 13.11.2009, 00:44


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
gif0
Дата 13.11.2009, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.11.2009

Репутация: нет
Всего: нет



Цитата(wester @ 12.11.2009,  23:46)
gif0
потому что ты не создаешь новый тип , 
допустим
Код

nameClass class = new nClass();

здесь мы создаем новый тип данных типа nameClass по имени class

вообщем неверно написал 
string это просто ссылочная переменная , оператор new можно использовать если допустим нужно из массива char получить строку

wester, ты вообще понимаешь разницу между типом (классом) и объектом???


Цитата

а string и String в net Framework одно и тоже , просто первый тип - это тип C# , а второй - тип Framework 
это то же самое что int и Int32


Я уже писал, что это одно и то же. Но ты немного путаешься, string и String - это краткая запись типа System.String, который находится в CTS.

Это сообщение отредактировал(а) gif0 - 13.11.2009, 03:15
PM MAIL   Вверх
gif0
Дата 13.11.2009, 03:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.11.2009

Репутация: нет
Всего: нет



В MSND нашел только это - "Обратите внимание, что для создания строкового объекта оператор new не используется, за исключением случаев инициализации строки массивом символов".
PM MAIL   Вверх
wester
Дата 13.11.2009, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



gif0
для вопросов почему надо писать так а не эдак существует MSDN и умные книжки 
просто запамятовал и забыл про возможные параметры конструктора string
вот еще в каких случаях используется конструктор http://msdn.microsoft.com/en-gb/library/sy...ing.string.aspx

по поводу краткой записи я не понял что это имелось в виду , 
string в коде все равно в IL получается как String 




PM MAIL   Вверх
DenWPF
Дата 18.11.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



как открыть диалог что бы пользователь указал имено папку
 FolderBrowserDialog пытаюсь но только получается файл.

folderBrowserDialog1.ShowDialog() -тупо не открывается

Это сообщение отредактировал(а) DenWPF - 18.11.2009, 01:13
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1312 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.