Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Подключение библиотек


Автор: Vovanuch 31.3.2006, 04:55
Только начинаю знакомиться с С#. До этого сидел в С++Builder.
Консольное приложение. Необходимо сделать так, чтобы его окно не закрывалось после выполнения.
Вот код:
static void Main(string[] args)
{
Console.WriteLine("Hello");
//getch();
}
Так вот нужно как-то подключить библиотеку, содержащую ф-ю getch().
В С++Билдере это было #include <что-то там.h>
Или если знаете др способ - напишите плз.

Автор: useless 31.3.2006, 07:25
Попробуй использовать Console.ReadKey().

Но этот метод появился только в .NET 2.0, т.е. для компиляции тебе понадобиться студия 2005

Автор: chipset 31.3.2006, 08:33
А для Console.Read достаточно и .NET 1.0 smile

Автор: Vovanuch 31.3.2006, 10:25
Спасибо, Шустрый, но у меня нет метода этого. Нашел другое решение.
Console.ReadLine();
Добавлено @ 10:27
to chipset: да, и это работает smile Благодарю.

Автор: Vovanuch 31.3.2006, 11:21
А все-таки, как подключать библиотеки, не подскажете?

Автор: ivashkanet 31.3.2006, 11:41
Как в верху любой программы написано:
Код

using System.Diagnostics;
using .....

System.Diagnostics -- это и есть название библиотеки

Автор: Exception 31.3.2006, 11:53
Неправда. Подключить библиотеку к проекту можно правым кликом по проекту -> Add Reference... . То, что ты пишешь в директиве using, есть пространства имен. Например, одна библиотека mscorlib содержит множество пространств имен.
P.S. При всем моем к Вам уважении, не имеет смысла изучать платформу, не ознакомившись с базовыми принципами работы .NET и т.д. Между С# и С++ слишком большая разница (я говорю не о синтаксисе, а о парадигме программирования).

Автор: ivashkanet 31.3.2006, 12:47
Цитата(Exception @ 31.3.2006, 11:53 Найти цитируемый пост)
Неправда. Подключить библиотеку к проекту можно правым кликом по проекту -> Add Reference... . То, что ты пишешь в директиве using, есть пространства имен. Например, одна библиотека mscorlib содержит множество пространств имен.
P.S. При всем моем к Вам уважении, не имеет смысла изучать платформу, не ознакомившись с базовыми принципами работы .NET и т.д. Между С# и С++ слишком большая разница (я говорю не о синтаксисе, а о парадигме программирования).

Я знаю, но функции вида getch никак не тянут на присутствие в сторонних библиотеках, подключаемых через > Add Reference... ..

P.S. (using) System, как ни странно, тоже библиотека smile "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll", только она встроена в framework и её подключают через using smile

Автор: VisualProgrammerNET 31.3.2006, 13:25
Что такое "парадигма"?

Автор: alir 31.3.2006, 15:53
ivashkanet
Exception прав. Дело в том, что когда ты создаешь новый проект, то некоторая часть сборок уже добавлены в него (иначе нечему было бы собираться), поэтому оператором using ты можешь разрешать нужные пространства имен, находящиеся в автоматически подключенных сборках. В том примере, который ты привел System и как сборка, и как пространство имен.


VisualProgrammerNET
Цитата

Что такое "парадигма"?

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


Автор: ivashkanet 31.3.2006, 16:09
Цитата(alir @ 31.3.2006, 15:53 Найти цитируемый пост)
ivashkanet
Exception прав. Дело в том, что когда ты создаешь новый проект, то некоторая часть сборок уже добавлены в него (иначе нечему было бы собираться), поэтому оператором using ты можешь разрешать нужные пространства имен, находящиеся в автоматически подключенных сборках. В том примере, который ты привел System и как сборка, и как пространство имен.

Ты хочешь сказать, что и System.Security.Cryptography.X509Certificates, например, так же подключается автоматически?

А именно Systems приведен, чтобы не писать много. smile

И ВООБЩЕ, насколько я понял, Vovanuch, только осваивает .Net, ему и Using за глаза smile (Как и мне smile , только раз подключал объекты работы с Excel, для смеха)

Автор: Exception 31.3.2006, 17:10
Извините за показательное выступление... smile


Что такое библиотека?
Библиотека в .NET -- обычная сборка .NET с расширением *.dll. В библиотеке могут содержаться классы.
Что такое пространство имён?
Пространство имён -- способ структурирования классов. Например, у нас есть Windows-контрол TextBox и Web-контрол TextBox. Для того, чтобы их различать, один поместили в пр-ство имён System.Windows.Forms, а другой -- в System.Web.UI.WebControls.
Подключение к проекту библиотеки System.Windows.Forms.dll делает возможным для нас написать такой код:
Код

System.Windows.Forms.TextBox myWinTextBox;

Допустим, что мы не используем в этом проекте библиотеку System.Web.dll. Тогда зачем нам городить такой жуткий код? Мы просто объявим пр-во имён System.Windows.Forms в директиве using:
Код

using System.Windows.Forms;
/...
TextBox myWinTextBox; // = System.Windows.Forms.TextBox myWinTextBox;

Так-то.
И напоследок. Полезно знать, что
  • Одна сборка может содержать несколько пространств имён
  • Одно пространство имён может делиться между несколькими сборками
Например, мы вправе написать
Код

namespace System
{
    class MySystemClass{}
}

и использовать его так:
Код

using System;
//...
System.MySystemClass msc = new System.MySystemClass;

Разумеется, так делать не стоит smile
Так что разница между пр-вом имён и библиотекой огромная.

Автор: ivashkanet 31.3.2006, 22:48
Exception, ты прав smile
Любой стандартный компонент можно юзать впрограмме, даже не написав ни одного using, просто доступ к ним будет со всеми префиксами. Только что проверил. smile

P.S. Прошу прощения, что нес полную чушь. smile

P.P.S. Vovanuch, советую книжку по С#: http://www.intuit.ru/department/pl/csharp/. Очень хорошая, я от нее балдею. smile

Автор: Exception 31.3.2006, 23:32
По части литературы Троелсен рулит однозначно.

Автор: Vovanuch 2.4.2006, 07:14
Книга у меня Карли Ватсона. Вроде хорошая, но только начал читать, и до библиотек-сборок не добрался еще smile КСтати, скажите плз, что такое "сборка" smile А то как-то глупо себя чувствую, когда все непонятными словами бросаются ;)

Автор: ivashkanet 2.4.2006, 10:52
Vovanuch, сборка это, по сути проект в С. Ну то что собрается (компилится) вместе, ИХМО.
Могу немного ошибаться, определения не видел, но суть 100% такая.

Автор: Exception 2.4.2006, 19:11
Vovanuch, а что там тогда в книге объясняют? Как кидать компоненты на форму? Покупай Троелсена, точно тебе говорю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)