Re[11]: Массивы в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.03 14:20
Оценка:
Здравствуйте, ivan23i, Вы писали:

I>Я думаю не смертельно же если человеку что-то не понятно. помоему это хорошо что есть вопросы — значит он думает.




I>Если не сложно посовеетуй книжку по алгоритмам и структурам данных.


Была одна книжка... к сожалению не помню как назыается. Там били алгоритмы на VB. Главное достоинство — очень доходчивое изложение и максимально простые примеры. Естественно на ВБ, что заставит изучить еще один язык. Но — это не такая большая проблема. Во-первых, ВБ очень простой язык. Во-вторых, после второго языка изучение остальных (того же типа, например, после перла изучать С++ тяжеловато, а после С++ очень непросто понять Пролог) дается очень легко.

I>Ну а ктому что все типизированно. начинаю привыкать. Не знаю просто мне почему т понравился C#, да и для разработки КИС он помоему самое подходящее решение!


Да для разработки прикладных систем он то что нужно. Надежно и быстро. Но учить в нем нужно много чего. Даже собственно не в нем, а в библиотеках и дотнете. За-то скорость (простота) разработки и качество выше чем у большинства конкурентов.
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Массивы в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.03 14:20
Оценка:
Здравствуйте, gbush, Вы писали:

G>Но jagged массивы не соответствуют CLS


Запрета на то, чтобы элементом массива был другой массив нет. Другое дело, что на имеющихся языках (С++ и ВБ) с такими массивами придется повазиться. Там они доступны только через АПИ.
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Массивы в C#
От: ExtraLamer  
Дата: 25.08.03 16:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ivan23i, Вы писали:


I>>Я думаю не смертельно же если человеку что-то не понятно. помоему это хорошо что есть вопросы — значит он думает.


VD>


I>>Если не сложно посовеетуй книжку по алгоритмам и структурам данных.


VD>Была одна книжка... к сожалению не помню как назыается. Там били алгоритмы на VB. Главное достоинство — очень доходчивое изложение и максимально простые примеры. Естественно на ВБ, что заставит изучить еще один язык. Но — это не такая большая проблема. Во-первых, ВБ очень простой язык. Во-вторых, после второго языка изучение остальных (того же типа, например, после перла изучать С++ тяжеловато, а после С++ очень непросто понять Пролог) дается очень легко.


C VB на C# легко переходить, особенно в свете то что VB.Net резко отличается от VB6. А вот с С# на С++ — не очень. Да и не хочется(почему то) ...
Re[8]: Массивы в C#
От: ExtraLamer  
Дата: 25.08.03 16:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ivan23i, Вы писали:


I>>ХМ, разве масисв массивов не одно и тоже что и много мерный массив?


VD>Да. Это разные вещи. Вот смотри:

VD>
VD>// Массива массивов интов. Инициализируется пустым массивом.
VD>int[][] aryOfAryOfInt = new int[3][];

VD>// А вот это уже многомерный массив
VD>int[,][] aryIntMatrix = new int[3,3];

VD>// А вот разница
VD>aryOfAryOfInt[0] = new int[2];
VD>aryOfAryOfInt[1] = new int[1000];
VD>aryOfAryOfInt[2] = null;

VD>aryOfAryOfInt[0][1] = 123;

VD>aryIntMatrix[0,1] = 123;
VD>


Инетересно а можно создать Массив Массивов Массивов? Что то вроде int [][][] CFG2 = new int [x][][]. Я пытался — что то не чего не выходит. Интересно как его инициализировать в конструкторе?
Re[12]: Массивы в C#
От: ivan23i  
Дата: 25.08.03 17:05
Оценка:
Спассибо за поправку
Точно есть
Posted via RSDN NNTP Server 1.6
Re[13]: Массивы в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.03 19:42
Оценка:
Здравствуйте, ExtraLamer, Вы писали:

EL>C VB на C# легко переходить, особенно в свете то что VB.Net резко отличается от VB6.


Какая-то странная логика. ВБ6 отличается от ВБ7 куда меньше чем Шарп от ВБ6.

EL>А вот с С# на С++ — не очень.


А. Ну, ты вот это раскажи тем кто переходит.

EL>Да и не хочется(почему то) ...


Кому как. А вот мне что-то на плюсах все меньше и меньше хочется писать. Еще бы шаблоны и так по мелочи, и про плюсы можно бы было начать забывать. Хотя конечно каждому свое...
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Массивы в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.03 19:42
Оценка: 3 (1)
Здравствуйте, ExtraLamer, Вы писали:

EL>Инетересно а можно создать Массив Массивов Массивов?


А в чем проблема? Массив это тип, а значит можно сделать из него элемент массива. Вот только обычно смысла в такой вложенности нет.

EL> Что то вроде int [][][] CFG2 = new int [x][][]. Я пытался — что то не чего не выходит. Интересно как его инициализировать в конструкторе?


int[][][] aiii = new int[][][]
{
    new int[][]
    {
        new int[]{ 1, 2, 3 },
        new int[]{ 4, 5, 6 },
        new int[]{ 7, 8, 9 }
    },
    new int[][]
    {
        new int[]{ 1, 2, 3 },
        new int[]{ 4, 5, 6 },
        new int[]{ 7, 8, 9 }
    }
};

Console.WriteLine("Первый уровень.");
foreach(int[][] aii in aiii)
{
    Console.WriteLine("Второй уровень.");
    foreach(int[] ai in aii)
    {
        Console.WriteLine("Третий уровень.");
        foreach(int i in ai)
            Console.Write(i + "\t");
        Console.WriteLine();
    }
}
Console.WriteLine("Нажимите Enter зачем-нибудь...");
Console.ReadLine();


Кстати, инициализация реально идет в рантайме. Жертвы крутому рантайму.
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Массивы в C#
От: Воронков Василий Россия  
Дата: 25.08.03 19:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ExtraLamer, Вы писали:


EL>>C VB на C# легко переходить, особенно в свете то что VB.Net резко отличается от VB6.

VD>Какая-то странная логика. ВБ6 отличается от ВБ7 куда меньше чем Шарп от ВБ6.

Это да.

EL>>А вот с С# на С++ — не очень.

VD>А. Ну, ты вот это раскажи тем кто переходит.

А что, кто-то переходит? В смысле начинает изучать с++ с нуля, под дотнетом — или как?

EL>>Да и не хочется(почему то) ...

VD>Кому как. А вот мне что-то на плюсах все меньше и меньше хочется писать. Еще бы шаблоны и так по мелочи, и про плюсы можно бы было начать забывать. Хотя конечно каждому свое...

Да, но не стоит забывать, что есть ведь не только прикладная разработка.
... << RSDN@Home 1.1 beta 1 >>
Re[15]: Массивы в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.03 19:55
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А что, кто-то переходит? В смысле начинает изучать с++ с нуля, под дотнетом — или как?


Не. Тем кто с С++ пытается на Шарп перейти. Мату обычно...

ВВ>Да, но не стоит забывать, что есть ведь не только прикладная разработка.


Все разработки к чему-то прикладываются. Ну, драйверы, ну, ОС, ну, реалтайм-задачи. Остальное без проблем пишется на дотнете.
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Массивы в C#
От: Воронков Василий Россия  
Дата: 25.08.03 20:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все разработки к чему-то прикладываются.




VD>Ну, драйверы, ну, ОС, ну, реалтайм-задачи. Остальное без проблем пишется на дотнете.


Не знаю, что-то последнее время я начинаю сомневаться в том, что дотнет будет господствовать "на столе". В вебе — это да. А вот для настольных приложений. Уже ведь "второе поколение", так сказать, близится к концу, а что из настольного было на дотнете написано? Даже МС как-то не торопится. Как бы не разделил он в этом плане участь джавы...
... << RSDN@Home 1.1 beta 1 >>
Re[10]: Массивы в C#
От: ExtraLamer  
Дата: 25.08.03 23:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ExtraLamer, Вы писали:


EL>>Инетересно а можно создать Массив Массивов Массивов?


VD>А в чем проблема? Массив это тип, а значит можно сделать из него элемент массива. Вот только обычно смысла в такой вложенности нет.


EL>> Что то вроде int [][][] CFG2 = new int [x][][]. Я пытался — что то не чего не выходит. Интересно как его инициализировать в конструкторе?


VD>
VD>int[][][] aiii = new int[][][]
VD>{
VD>    new int[][]
VD>    {
VD>        new int[]{ 1, 2, 3 },
VD>        new int[]{ 4, 5, 6 },
VD>        new int[]{ 7, 8, 9 }
VD>    },
VD>    new int[][]
VD>    {
VD>        new int[]{ 1, 2, 3 },
VD>        new int[]{ 4, 5, 6 },
VD>        new int[]{ 7, 8, 9 }
VD>    }
VD>};

VD>Console.WriteLine("Первый уровень.");
VD>foreach(int[][] aii in aiii)
VD>{
VD>    Console.WriteLine("Второй уровень.");
VD>    foreach(int[] ai in aii)
VD>    {
VD>        Console.WriteLine("Третий уровень.");
VD>        foreach(int i in ai)
VD>            Console.Write(i + "\t");
VD>        Console.WriteLine();
VD>    }
VD>}
VD>Console.WriteLine("Нажимите Enter зачем-нибудь...");
VD>Console.ReadLine();
VD>


спасибо за ответ. Такая форма записи массива хоть и более понятна, но менее гибка, инициализировать всё же лучше будет в конструкторе (по крайней мере моя программа этого требует). Методом тыка всё таки удалось создать Массив_Массивов_Массивов, с инициализацией в конструкторе. Хотя синтаксис весьма странный, особенно не понравилось обьявления второго уровня. исходник внизу.

VD>Кстати, инициализация реально идет в рантайме. Жертвы крутому рантайму.


В каком смысле?


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Arrays_of_Arrays_of_Arrays
{
    
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Button button1;

        public int[][][] aiii = new int[2][][];
    
        public Form1()
        {
            // Первый уровень ...
            aiii [0]  = new int[2][];
            aiii [1]  = new int[3][];
                        
            // Второй уровень ...
                        
            // aiii [0]:
            // 1
            aiii [0][0]  = new int[2];
            // 2
            aiii [0][1]  = new int[1];
            
            // aiii [1]:
            // 3
            aiii [1][0]  = new int[3];
            // 4
            aiii [1][1]  = new int[2];
            // 5
            aiii [1][2]  = new int[1];
            
            // Третий уровень ...

            // Заполняем элементами
            // 1
            aiii[0][0][0] = 1;
            aiii[0][0][1] = 2;
            // 2
            aiii[0][1][0] = 3;
            // 3
            aiii[1][0][0] = 4;
            aiii[1][0][1] = 5;
            aiii[1][0][2] = 6;
            // 4
            aiii[1][1][0] = 7;
            aiii[1][1][1] = 8;
            // 5
            aiii[1][2][0] = 9;
            
            InitializeComponent();
        }

        static void Main() 
        {
            Application.Run(new Form1());
        }

        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(160, 64);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(56, 56);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // Form1
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(292, 265);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.ResumeLayout(false);

        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            /*
            типа тут печать массива должна была быть ...
            */
            
            // Application.Exit();
            
            //    Console.WriteLine("Нажимите Enter зачем-нибудь...");
            //    Console.ReadLine();
        }
        
    }
}
Re[14]: Массивы в C#
От: ExtraLamer  
Дата: 25.08.03 23:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ExtraLamer, Вы писали:


EL>>C VB на C# легко переходить, особенно в свете то что VB.Net резко отличается от VB6.


VD>Какая-то странная логика. ВБ6 отличается от ВБ7 куда меньше чем Шарп от ВБ6.


К сожалению отличается — VB7 делали, как известно с расчётом под MSIL, тут переменные variant — не пройдут. Так что когда стал выбор у любителей VB — между VB7 и С# то многие, перешли на C#. Так как VB7 и С# — различаются только синтаксисом, а так — одно и то же. Кто му же многим понравилось что в C# отсутствуют (точнее: они там есть но обходится без них попроще, чем обходится без них на С++) указатели(Все VB программисты — вздрогнули ).

EL>>А вот с С# на С++ — не очень.


VD>А. Ну, ты вот это раскажи тем кто переходит.


EL>>Да и не хочется(почему то) ...


VD>Кому как. А вот мне что-то на плюсах все меньше и меньше хочется писать. Еще бы шаблоны и так по мелочи, и про плюсы можно бы было начать забывать. Хотя конечно каждому свое...


Да просто до Linux и прочих *nix, С# ещё не добрался, а там только плюсы и есть. Возможно и не доберётся, в свете покупки Ximian — SUN. SUN наверно всё сделает что бы на *nix — была только Java , а Mono прикроют по тихоньку.
Re[15]: Массивы в C#
От: WFrag США  
Дата: 26.08.03 03:13
Оценка:
Здравствуйте, ExtraLamer, Вы писали:

EL>Да просто до Linux и прочих *nix, С# ещё не добрался, а там только плюсы и есть. Возможно и не доберётся, в свете покупки Ximian — SUN. SUN наверно всё сделает что бы на *nix — была только Java , а Mono прикроют по тихоньку.


Во-первых, добрался. Как ты сам заметил — это mono.
А во-вторых, Ximian-а купил не SUN, а Novell (читать тут). И mono сворачивать они не собираются, а наоборот, обещают развивать.
Re[15]: Массивы в C#
От: Воронков Василий Россия  
Дата: 26.08.03 05:36
Оценка:
Здравствуйте, ExtraLamer, Вы писали:

EL>К сожалению отличается — VB7 делали, как известно с расчётом под MSIL, тут переменные variant — не пройдут. Так что когда стал выбор у любителей VB — между VB7 и С# то многие, перешли на C#. Так как VB7 и С# — различаются только синтаксисом, а так — одно и то же. Кто му же многим понравилось что в C# отсутствуют (точнее: они там есть но обходится без них попроще, чем обходится без них на С++) указатели(Все VB программисты — вздрогнули ).


Отличается не только синтаксисом. В VB7 многое оставили не то чтобы для совместимости не то чтобы с VB6, а скорее с программистами на VB6 . Тут тебе и модули и прочая фигня. К тому же во многих случаях в VB7 осуществляется автоматическое обратное приведение к типу, что может весьма серьезно повлиять на дизайн всего приложения. Там и шаблоны-то по большому счету не так уж нужны.

EL>>>А вот с С# на С++ — не очень.


VD>>А. Ну, ты вот это раскажи тем кто переходит.


EL>>>Да и не хочется(почему то) ...


VD>>Кому как. А вот мне что-то на плюсах все меньше и меньше хочется писать. Еще бы шаблоны и так по мелочи, и про плюсы можно бы было начать забывать. Хотя конечно каждому свое...


EL>Да просто до Linux и прочих *nix, С# ещё не добрался, а там только плюсы и есть. Возможно и не доберётся, в свете покупки Ximian — SUN. SUN наверно всё сделает что бы на *nix — была только Java , а Mono прикроют по тихоньку.


Вообще добрался, а вот приживется ли... А оно тебе нужно?
... << RSDN@Home 1.1 beta 1 >>
Re[15]: Массивы в C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.08.03 07:11
Оценка: :)
Здравствуйте, ExtraLamer, Вы писали:

EL>Да просто до Linux и прочих *nix, С# ещё не добрался, а там только плюсы и есть. Возможно и не доберётся, в свете покупки Ximian — SUN.


Блин, как в анекдоте. Во-первых не Sun, а Novell, во-вторых разработку mono собираются не закрывать а наоборот финансировать.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[17]: Массивы в C#
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 26.08.03 08:30
Оценка:
Hello, Воронков!
You wrote on Mon, 25 Aug 2003 20:14:40 GMT:

хъ
Согласен.
Еще не скоро дотнет будет у каждого юзера на машине, это раз.
Два — производительность. Я как-то писал програмульку, которая заливает
содержимое файловой системы (без собственно данных, просто атрибуты) в БД.
Это было нечто! Programm files заливался часов 5-6!
WTL для лекгих клиентов рулит!

With best regards, Alex Shirshov.
Posted via RSDN NNTP Server 1.7 beta
Re[16]: Массивы в C#
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 26.08.03 08:32
Оценка:
Hello, Воронков!
You wrote on Tue, 26 Aug 2003 05:36:46 GMT:

хъ
ВВ> Отличается не только синтаксисом. В VB7 многое оставили не то чтобы для
ВВ> совместимости не то чтобы с VB6, а скорее с программистами на VB6
ВВ> . Тут тебе и модули и прочая фигня. К тому же во многих случаях в VB7
ВВ> осуществляется автоматическое обратное приведение к типу, что
может
ВВ> весьма серьезно повлиять на дизайн всего приложения.

Не понял.

хъ

With best regards, Alex Shirshov.
Posted via RSDN NNTP Server 1.7 beta
Re[18]: Массивы в C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.08.03 09:12
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Еще не скоро дотнет будет у каждого юзера на машине, это раз.


При теперешних размерах дистрибутивов не особо страшно. Да и будет он достаточно скоро, как начнут дозревать первые коробочные продукты на нем.

AS>Два — производительность. Я как-то писал програмульку, которая заливает

AS>содержимое файловой системы (без собственно данных, просто атрибуты) в БД.
AS>Это было нечто! Programm files заливался часов 5-6!

И при чем тут дотнет? У тебя на работу с БД и диском и уходит основное время, а управляемый код скорее всего занимает десятые доли процента.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[17]: Массивы в C#
От: Воронков Василий Россия  
Дата: 26.08.03 11:39
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Hello, Воронков!

AS>You wrote on Tue, 26 Aug 2003 05:36:46 GMT:

AS>хъ

ВВ>> Отличается не только синтаксисом. В VB7 многое оставили не то чтобы для
ВВ>> совместимости не то чтобы с VB6, а скорее с программистами на VB6
ВВ>> . Тут тебе и модули и прочая фигня. К тому же во многих случаях в VB7
ВВ>> осуществляется автоматическое обратное приведение к типу, что
AS>может
ВВ>> весьма серьезно повлиять на дизайн всего приложения.

AS>Не понял.



Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO
Module Module1

    Sub Main()
        Dim AInst As New A
        Dim OInst As New Object
        OInst = AInst

        OInst.MyFuckingMethod() 'Sic!

    End Sub

End Module

Public Class A
    Public Sub MyFuckingMethod()
        Console.WriteLine("Some shit")
        Console.ReadLine()
    End Sub
End Class
... << RSDN@Home 1.1 beta 1 >>
Re[18]: Массивы в C#
От: Воронков Василий Россия  
Дата: 26.08.03 11:39
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Hello, Воронков!

AS>You wrote on Mon, 25 Aug 2003 20:14:40 GMT:

AS>хъ

AS>Согласен.
AS>Еще не скоро дотнет будет у каждого юзера на машине, это раз.
AS>Два — производительность. Я как-то писал програмульку, которая заливает
AS>содержимое файловой системы (без собственно данных, просто атрибуты) в БД.
AS>Это было нечто! Programm files заливался часов 5-6!
AS>WTL для лекгих клиентов рулит!

Честно говоря, я-то как раз думаю, что с производительностью у дотнета вполне нормально. Тут у меня нареканий даже нет. Вспомни, какое было раньше одно из самых популярных средств разработки — VB6. А у него как с производительностью? С до-диезом даже сравивать смешно.
К тому же мощность компов имеет склонность удваиваться каждые 18 месяцев.

Тут скорее об отношении речь. Меня вот действительно беспокоит тот факт, что настольные плаги на дотнете что-то не особенно торопятся писать — я имею в виду проги широкого масштаба, разумеется.
... << RSDN@Home 1.1 beta 1 >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.