Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.06.2006
Сообщений: 71

Массив, элементами которого являются массивы

04.07.2006, 14:57. Показов 5148. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на загрузку страницы пишу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
   if (Session["cart"] == null)
   {
    Object[] cart = new Object[0];
   } else  if (Request["id"] != null)
   {
      Object[] cart = new Object[1]
      {
       Object[] item = new Object[2]
       {
      Request.QueryString["id"],1
       } ;
      };
      Session["cart"] = cart;
      Response.Redirect("cart.aspx");
   } else
   {
      label1.Text =Session["cart"].ToString();
   }
  }
Я хочу записать на переменную на сессию массив элементами которого являются массивы!
Этот массив типа первый элемет id второй элемент например количество!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2006, 14:57
Ответы с готовыми решениями:

Создать массив, элементами которого являются расстояния между точками
Написать подпрограмму, реализующую решение задачи: На плоскости заданы своими координатами n точек. Создать массив размером n(n-1),...

Сформировать одномерный массив L(m), элементами которого являются суммы j столбца
Помогите,пожалуйста) Никак не могу понять... Дана матрица K(m.n). Сформировать одномерный массив L(m), элементами которого являются суммы...

Сформировать одномерный массив, элементами которого являются суммы элементов i-ой строки
Дана матрица А(n,m). Сформировать одномерный массив В(n), элементами которого являются суммы элементов i-ой строки. Народ подскажите какой...

25
0 / 0 / 0
Регистрация: 20.06.2006
Сообщений: 71
10.07.2006, 19:26  [ТС]
Студворк — интернет-сервис помощи студентам
Попробовал написать так как мне посоветовал, но выводится сообщение
Exception Details: System.FormatException: Input string was not in a correct format.
на строку
C#
1
adapter.Fill(dataset);
Тут какая ситуация - в базе id типа int
список айдишников типа string параметр тоже int !
Все работает пока id_list выглядит так 1
когда добавляешь еще один элемент все ломается 1,2
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
10.07.2006, 19:34
Неудивительно
Я по ошибке указал тип параметра как числовой, когда он должен быть строковым.
SqlParameter prmIdList = adapter.SelectCommand.Parameters.Add("@i d_list", <STRONG>SqlDbType.VarChar, 8000</STRONG>);
0
0 / 0 / 0
Регистрация: 20.06.2006
Сообщений: 71
10.07.2006, 19:39  [ТС]
Я пробовал ставить varchar
пишет
<STRONG>Exception Details: </STRONG>System.Data.SqlClient.SqlExceptio n: Syntax error converting the varchar value '2,0' to a column of data type int.
Можно что то сделать или придется менять тип id в БД ?
Кстати почему то пишет 2,0 хотя писать должен 2,1
0
0 / 0 / 0
Регистрация: 20.06.2006
Сообщений: 71
10.07.2006, 20:18  [ТС]
В сессии весит двумерный массив тапа {1,1}{3,1} я динамически добавляю в него новые элементы {2,1}
вот так см ниже!
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
27
28
29
30
31
32
33
if (Session["cart"] == null && Request.QueryString["id"]!= null)
{
 string buf = Request.QueryString["id"];
 int[,] cart= new int[1,2];
 cart[0,0]=Convert.ToInt32(buf);
 cart[0,1]=1;
 Session["cart"] = cart;
 Response.Redirect("cart.aspx");
}
else if (Session["cart"] != null && Request.QueryString["id"]!= null)
{
 int[,] cart = (int[,])Session["cart"];
 int len_arr=cart.Length/2;
 int[,] tmp = new int[len_arr+1,2];
 Array.Copy(cart,0,tmp,0,len_arr);
 cart=tmp;
 cart[len_arr-1,0]= Convert.ToInt32(Request.QueryString["id"]);
 cart[len_arr-1,1]= 1;
 Session["cart"] = cart;
         label2.Text=Convert.ToString(cart[len_arr-1,0]);
 label3.Text=Convert.ToString(cart[len_arr-1,1]);
 Response.Redirect("cart.aspx");
} else
{
 int[,] cart = (int[,])Session["cart"];
         StringBuilder id_list = new StringBuilder();
 for (int i=0;i<cart.GetLength(0); i++)
 {
  if (i>0) id_list.Append(",");
  id_list.Append(cart[i,0]);
 }
 label1.Text =id_list.ToString();
}
Судь ошибки в том что он откудато берет 0!! я не добавляю элементов со значением ноль! Не могу понять откуда он его берет!!!
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
10.07.2006, 21:29
Я пробовал ставить varchar
Я ошибся. Передать список значений через именнованный параметр нельзя. Придется генерировать непосредственно текст запроса
C#
1
2
3
4
5
6
7
8
StringBuilder id_list = new StringBuilder();
for (int i=0; i<cart.GetLength(0); i++)
{
    if (i>0) id_list.Append(",");    
    id_list.Append(cart[i,0]);
}
string selectQuery = String.Format("... AND tp.id IN {0}", id_list.ToString());
adapter.SelectCommand = new SqlCommand(selectQuery, sqlConn);
Суть ошибки в том что он откудато берет 0!! я не добавляю элементов со значением ноль! Не могу понять откуда он его берет!!!
Ты неправильно копируешь массив, отсюда и ошибка. Вот исправленный код. В чем именно была твоя ошибка подумай самостоятельно.
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
27
28
29
30
if (Session["cart"] == null && Request.QueryString["id"]!= null)
{
    string buf = Request.QueryString["id"];
    int[,] cart= new int[1,2];
    cart[0,0] = Convert.ToInt32(buf);
    cart[0,1] = 1;
    Session["cart"] = cart;
    Response.Redirect("cart.aspx");
}
else if (Session["cart"] != null && Request.QueryString["id"]!= null)
{
// ***************************************************************
     int[,] tmp = new int[cart.GetLength(0)+1, 2];
     Array.Copy(cart, 0, tmp, 0, cart.GetLength(0)*2);
     cart = tmp;
     cart[cart.GetLength(0)-1, 0] = Convert.ToInt32(Request.QueryString["id"]);
     cart[cart.GetLength(0)-1, 1] = 1;
// ***************************************************************
}
else
{
    int[,] cart = (int[,])Session["cart"];
    StringBuilder id_list = new StringBuilder();
     for (int i=0; i<cart.GetLength(0); i++)
     {
        if (i>0) id_list.Append(",");
        id_list.Append(cart[i,0]);
     }
     label1.Text = id_list.ToString();
}
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
10.07.2006, 22:25
И, кстати, советую создать для элементов корзины пару простейших классов.
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 class ShoppingCartItem
{
    public ShoppingCartItem(int id, int quantity)
    {
        Id = id;
        Quantity = quantity;
    }
 
    public int Id;
    public int Quantity;
}
 
public class ShoppingCart
{
    public static void AddToCart(int id, int quantity)
    {
         HttpSessionState session = HttpContext.Current.Session;
         ArrayList items = (ArrayList)Session["cart"];
         if (null == items)
         {
             items = new ArrayList();
             Session["cart"] = items;
         }
         items.Add(new ShoppingCartItem(id, quantity));
    }
}
Хоть это и не совсем красивое решение, но даже оно сильно упростит тебе жизнь. Ведь запись cartItem.Quantity = 1 несет больше смысла, чем cart[0,1] = 1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2006, 22:25

Создать массив, элементами которого являются суммы делителей каждого числа другого массива
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Создать новый массив, элементами которого являются суммы...

Создать новый массив, элементами которого являются только положительные числа из старого массива.
Дан одномерный массив, который содержит не более 40 целых чисел. Создать новый массив, элементами которого являются только положительные...

Сформировать массив В, элементами которого являются большие из двух рядом стоящих в массиве А чисел
Задание: Дан массив A(N). Сформировать массив В(М), элементами которого являются большие из двух рядом стоящих в массиве А чисел....

В двоичном файле, элементами которого являются целые числа.
В двоичном файле, элементами которого являются целые числа. Удалить из него число, записанное после первого нуля. Результат записать в...

Программа формирования массива, элементами которого являются цифры числа N
Здравствуйте, есть такая задача: Дано натуральное число N. Составить программу формирования массива, элементами которого являются цифры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru