|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Копирование данных строки из dataGridView в richBox или в textBox Всем привет! у меня получилось но мне надо через запетую private void DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { { if (((DataGridView)sender).Focused) { foreach (DataGridViewCell item in this.DataGridView.CurrentRow.Cells) { this.textBox1.Text += item.Value.ToString(); } } } } ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 14:16 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
плюсуй запятую еще к текстбоксу ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 15:20 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
можно поподробнее ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 15:24 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Star_V, Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 15:28 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 15:34 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Star_V, stringbuilder - Впрочем, это уже совсем другая история…(с) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 15:49 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
не поняла Где-то в степи можно поподробнее ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 18:00 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Star_V, http://www.pvsm.ru/net/32288 http://www.pvsm.ru/programmirovanie/25433 http://www.pvsm.ru/java/39379/print/ http://www.pvsm.ru/net/25042 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 20:12 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Где-то в степи, Позволю резюмировать ссылки 1. Избегайте неявного использования строк Строки являются неотъемлемой частью практически любой структуры данных. Будучи более требовательными к ресурсам, чем другие примитивные типы, они имеют большее влияние на потребление памяти. Не стоит забывать, что строки иммутабельны. Они не модифицируются после аллокации. Операторы, такие как "+" при объединении строк в действительности создают новый объект String, содержащий конкатенацию строк. Ко всему прочему, это приводит к неявному созданию объекта StringBuilder, который и проводит саму операцию объединения. Приведем пример: Код: c# 1.
А вот актуальный код, генерируемый компилятором за кулисами: Код: c# 1. 2. 3. 4.
В реальности все еще хуже. Рассмотрим следующий пример: Код: c# 1. 2. 3.
Здесь мы имеем 3 StringBuilder’а выделенных неявно — по одному на каждую операцию "+" и две дополнительных строки — одна, как результат второго присвоения, другая передается в метод println. В итоге получили 5 дополнительных объектов в тривиальном коде. Подумайте, что происходит в реальных программах, вроде генерации веб-страницы, работы с XML или чтения текста из файла. Подобный код внутри цикла приведет к появлению сотен или тысяч неявно выделяемых объектов. VM имеет механизмы борьбы с этим, но все имеет цену — и заплатят ее ваши пользователи. Решение: одним из путей может быть явное создание StringBuilder. В примере ниже достигается тот же результат, но память выделяется только под один StringBuilder и одну строку под конечный результат. Код: c# 1. 2. 3.
Держа в уме, что в подобных случаях строки и StringBuilder’ы выделяются неявно, вы сможете существенно сократить количество мелких аллокаций памяти в часто выполняющемся коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2013, 20:20 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
Где-то в степи, хорошие ссылки, но одна из них относится к java. Процитированная часть как раз из нее. В C# для кода a + b компилятор сгенерирует вызов String.Concat(). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 11:16 |
|
Копирование данных строки из dataGridView в richBox или в textBox
|
|||
---|---|---|---|
#18+
bazile, хехе углядел, молодец. при выполнении кода когда когда размер итогового массива для строки известен, компилятор подставляет конкатенацию, в нутрях просто вычисляется размер для итоговой стоки, выделяется память для этого размера в виде указателя на новую строку и заполняется массив символов из параметров метода, в диезе немного лучше чем в яве нет смещения на объект оболочку stringBuilder, экономим 32 байта ( уж не помню точно), то есть память в куче все таки выделяется под массив символов для итоговой строки. посмотрим код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
сомпилятор создаст для каждой итерации конкатенацию, для каждой конкатенации, будет создана итоговый массив в памяти уборщик эти массивы будет убирать - каждый как единицу, тут как бы вопрос как же ему помочь, - stringBuilder с перезаписываемым итоговым массивом ( получается при каждой итерации все равно, если строка длинная) будет пересоздаваться массив в куче, но профит очевиден - единица работы для уборщика всего один экземпляр stringBuilder а сама процедура заполнения итогового массива , что у билдера что при конкатенации - одинаковая. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 11:47 |
|
|
start [/forum/topic.php?fid=20&msg=38411557&tid=1403948]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 141ms |
0 / 0 |