Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Массив структур с инициализацией / 11 сообщений из 11, страница 1 из 1
13.11.2012, 15:44
    #38036460
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Есть структура. У структуры существует конструктор.
Когда создается один экземпляр структуры, то все просто:
var myStruct = new MyStruct(number);
Конструктор инициализирует переменные.

Теперь я хочу создать массив структур, чтобы переменные проинициализировались.
Как?
var myMass = new MyStruct[100]; тут инициализация не происходит,

Что написать, чтобы сработал конструктор, не догоняю.
...
Рейтинг: 0 / 0
13.11.2012, 15:49
    #38036473
WitC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
vlsaf,

...
for (int i=0;i<=100;i++)
myMass[i] = new MyStruct(number);
...

как-то так....
...
Рейтинг: 0 / 0
13.11.2012, 16:05
    #38036527
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Инициализация происходит два раза.

Первый раз при объявлении массива структур
var myStruct = new MyStruct(number);
дефолтная инициализация

Второй раз явная в цикле.
for (int i=0;i<=100;i++)
myMass[i] = new MyStruct(number)



За один раз, никак?
...
Рейтинг: 0 / 0
13.11.2012, 16:07
    #38036532
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Опечатался.

Первый раз при объявлении массива структур
var myMass = new MyStruct[100]
...
Рейтинг: 0 / 0
13.11.2012, 16:13
    #38036545
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
vlsaf, хламидамададный стиль
Код: c#
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.
	public static class Ext
	{
		public static IEnumerable<U> Map<T, U>(this IEnumerable<T> s, Func<T, U> f)
		{
			foreach (var item in s)
				yield return f(item);
		}
		
		public static IEnumerable<int> Seq(this int @from, int @to)
		{
			while(@from <= @to)
				yield return @from++;
		}		
		
	}	
	
public struct MyStruct
	{
		public int val;
		public MyStruct(int val){this.val = val;}
	}
	
void Main()
{
	var myMass = 1.Seq(100).Map(i => new MyStruct(i)).ToArray();
}



Ну... а вообще наворотить можно... и логику формирования элементов посл-ти
...
Рейтинг: 0 / 0
13.11.2012, 16:28
    #38036574
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Да. Не все так просто в жизни.
buser, спасибо за урок.
...
Рейтинг: 0 / 0
13.11.2012, 16:30
    #38036578
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Пишите на F#... Тока я это просто так... наметал...
...
Рейтинг: 0 / 0
13.11.2012, 18:47
    #38036856
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
Ну а если без изврата...
Код: c#
1.
Enumerable.Range(0, 100).Select(v => new MyStruct(v)).ToArray();
...
Рейтинг: 0 / 0
13.11.2012, 23:32
    #38037181
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
buservlsaf, хламидамададный стиль
Код: c#
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.
	public static class Ext
	{
		public static IEnumerable<U> Map<T, U>(this IEnumerable<T> s, Func<T, U> f)
		{
			foreach (var item in s)
				yield return f(item);
		}
		
		public static IEnumerable<int> Seq(this int @from, int @to)
		{
			while(@from <= @to)
				yield return @from++;
		}		
		
	}	
	
public struct MyStruct
	{
		public int val;
		public MyStruct(int val){this.val = val;}
	}
	
void Main()
{
	var myMass = 1.Seq(100).Map(i => new MyStruct(i)).ToArray();
}



Ну... а вообще наворотить можно... и логику формирования элементов посл-ти
Это че за говнокодище? )
...
Рейтинг: 0 / 0
14.11.2012, 11:24
    #38037568
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
ну хотся хоть г-на да написать... а то я ужо звереть с тэскуэля начинаю
...
Рейтинг: 0 / 0
14.11.2012, 19:16
    #38038661
Deza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив структур с инициализацией
vlsafОпечатался.

Первый раз при объявлении массива структур
var myMass = new MyStruct[100]

а это как?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Массив структур с инициализацией / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]