Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

numetalist



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
очень нужна ваша помощь. необходимо определить, имеються ли в сетевом потоке(экземпляре NetworkStream) данные для чтения. можно бы это сделать, проверяя свойство NеtworkStream.DataAvailable в цикле, но тогда программа изволит много кушать. подскажите, имееються ли какие - либо события, которые бы могли помочь.

Всего записей: 26 | Зарегистр. 05-02-2008 | Отправлено: 18:46 25-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
numetalist
Посмотри NetworkStream.BeginRead.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 11:35 26-02-2009
numetalist



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
собственно идея хороша, но меня не устраивает обыная ассинхронка тем, что я передаю сериализованый при помощи System.Runtime.Serialization.Formatters.Binary.BinaryFormatter обьект. Методом Serializе(), который пишет непосредственно в поток. И считываю при помощи Deserialize. Возможно есть способы получить сериализованный обьект в виде массива байт? Тогда мне бы твой совет очень помог.

Всего записей: 26 | Зарегистр. 05-02-2008 | Отправлено: 15:25 26-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
numetalist
Можно писать в MemoryStream BinaryWriter-ом и потом скормить BinaryFormatter. Deserialize этот поток.  
 
И может WaitHandle поможет для организации ожидания.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 16:28 26-02-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйсто освоить LINQ,
я примерно разобрался, там, в МСДН, показано на примере коллекции string, и сами запросы, да и лямбда выражения у меня уже, компилируються, но есть несколько жизненноважных непоняток на которых я застрял:
 
1) Вот, к примеру, примерметода Repeat из МСДН:
Dim str As IEnumerable(Of String) = Enumerable.Repeat("I like programming.", 15)
И что с ним дальше делать? Как реально получить эту строку из 15и "I like programming."? str.tostring выводит название класса и некоторые его свойства.
 
2) Допустим есть два класса в неймспейсе х:
x.abracadabra и x.abracadabraCollection
в abracadabraCollection через .item(n) можно получить доступ к abracadabra.
допустим вот это:
Dim a As new x.abracadabraCollection(param1, param2, param3)
заполнит мне "а" чем ни будь полезным.
А вот это:
Dim b As IEnumerable(Of x.abracadabraCollection) = a - выдаст ошибку. Вот как правильно написать? Конкретно это нужно применительно к System.Text.RegularExpressions.MatchCollection
 
3) Просто если есть что-то внятное прочитать про LINQ с примерами на VB, поделитесь пожалуйсто ссылками, а то есть книги, но там про эту технологию написано только что она БУДЕТ в следующей версии и какая она крутая. (книги даже в общем-то не старые, 2003-2006г). А мсдн.... я просто через неделю в больницу, хотелось бы распечатать что б там почитать, а в мсдн надо по ссылкам лазить, там особо не по распечатаешь...

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 19:35 26-02-2009 | Исправлено: Xttx, 19:36 26-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx

Цитата:
Как реально получить эту строку из 15и "I like programming."?
StringBuilder-ом. (;
 
По книгам тут спроси и посмотри на торренте.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 23:01 26-02-2009 | Исправлено: Lazy KoT, 23:42 26-02-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
С примерами на с# мне, к сожалению, никак.... Я не пойму ничего просто.
Нашел на торренте не плохую "Introducing Microsoft LINQ". Жаль что опять только Introducing, но, более менее.
Спасибо!!!
 
PS. ни в StringBuilder ни в System.strings нет аналога strRepeat (из php) для конкатенации н-ного количества строк. Вот char - сколько угодно, но не строк. Но я выпендрился:
strDup("%", 15).tostring.replace("%", "I like programming.")

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 10:12 27-02-2009
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Джосеф Раттц - LINQ язык интегрированных запросов в C# 2008 для профессионалов
код
Может все таки пригодится.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 10:42 27-02-2009 | Исправлено: Lihonosov, 10:44 27-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx

Код:
Dim str As IEnumerable(Of String) = Enumerable.Repeat("I like programming.", 15)
String.Join("", str.ToArray())

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 13:03 27-02-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov
Да нет, спасибо, я в синтаксисе С# совершенно ничего не понимаю. К сожалению толку особого нету.... Но всё равно спасибо!
 
Lazy KoT
Вот! Спасибо!!! Теперь понятнее намного!
 
Помогите ещё с одним вопросом,
Как объеденить всю коллекцию в одну строку с помощью From (или ещё как)? Результат должен быть как если бы пройтись по всем элементам делая в теле цикла:
w += collection.item(n).value?
Реально это без For each?
Join("", from .value.tostring.ToArray())  - вот как-то так... (понимаю что бред написал. просто что б выразить идею).

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 13:44 27-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Данные какого типа в коллекции?

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 14:16 27-02-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
System.Text.RegularExpressions.MatchCollection _
_.item(n)
   {System.Text.RegularExpressions.Match}
       Captures: {System.Text.RegularExpressions.CaptureCollection}
       Empty: {System.Text.RegularExpressions.Match}
       Groups: {System.Text.RegularExpressions.GroupCollection}
       Index: 0 {int32}
       Length: 7 {int32}
       Success: True {boolen}
       Value: "~10001~" {system.string}
 
Мне нужно объеденить в одну строку параметр "Value" из всех итемов коллекции.
Аналогично такому спопсбу:
                Dim rm As System.Text.RegularExpressions.MatchCollection
 
                dim a as string = ""
                For Each i As System.Text.RegularExpressions.Match In rm
                    a = a + i.Value
                Next

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 14:27 27-02-2009
Monvid



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго всем=)
 
Подскажите как реализовать вызов ещё одной формы(она объявлена и создана), при нажатии на кнопу или т.п.?
 
Спасибо

Всего записей: 8 | Зарегистр. 07-11-2008 | Отправлено: 14:27 27-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Monvid
Смотри Form.Show, Form.ShowDialog

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 14:35 27-02-2009
Monvid



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, разобрался вот это как.
На пример требуется вызов формы через MenuStrip:
 

Код:
 
 private void newToolStripMenuItem_Click(object sender, EventArgs e)
        {
             
            Form2 myForm;
            myForm = new Form2();
            myForm.Show();
             
        }
 
 

 

Всего записей: 8 | Зарегистр. 07-11-2008 | Отправлено: 14:44 27-02-2009 | Исправлено: Monvid, 14:51 27-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx

Код:
Dim matches As System.Text.RegularExpressions.MatchCollection
...
String.Join("", (From match In matches.Cast(Of Match)() Select match.Value).ToArray())

Как-то сумасшедше выглядит, но ни до чего другого не додумался. Видимо придется RTFM по LINQ произвести. Да и VB я совсем не знаю, с C# перевожу. (:

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 18:26 27-02-2009 | Исправлено: Lazy KoT, 18:27 27-02-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
Отличног выглядит! Я именно это и имел в виду! Ибо вряд ли Join можно будет непосредственно в запросе произвести, запрос по любому коллекцию выдаст, только в массиве строк (ну я так думаю). А уж как его получить, не суть.  
Кто-то на форуме микрософта решал какую-то задачу типа сортировки массива при одновременном удалении из него чего-то там по условию использовавшему в качестве операндов другие элементы того-же массива. Минимум из того что ему порекоммендовали было два вложенных цикла...
А потом пришел их технарь, и написал решение в одну строчку
Вот я к такому, собственно и стремлюсь, а время выполнения, для коллекции из дюжины элементов - это не главный фактор.
Спасибо тебе ещё раз!

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 19:06 27-02-2009
Monvid



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, если не сложно, подскажите в чём я не прав при задании гриду кол-ва строк?
 

Код:
 
            Int32 temp_1;            
            temp_1 = Convert.ToInt32(this.numericUpDown1.Value);
            for (int i = 0; i < temp_1;temp_1++)
            {
                dataGridView1.Rows.Add(i);//// Матерится тут
 
 
            }
 

Всего записей: 8 | Зарегистр. 07-11-2008 | Отправлено: 21:06 27-02-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
И тебе спасибо, хоть на LINQ немного посмотрел. (:
 
Monvid
Сначала колонки добавить нужно в грид.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 21:22 27-02-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
for (int i = 0; i < temp_1;temp_1++)
Интересно, закончится ли когда-нибудь цикл, если вместо переменной цикла i инкрементить temp_1 ?
 
 
Добавлено:
Это раз.  
Во-вторых.
Add(Int32)  Adds the specified number of new rows to the collection.  
При первой итерации цикла i == 0. Попытка добавить 0 строк вызывает резонное недоумение в виде ArgumentOutOfRangeException.
В третьих. А зачем цикл вообще? Вызов .Add(10) добавит 10 новых строк. Или нужно было что-то другое?

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 12:16 01-03-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru