Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Application[] in C#

  1. #1
    Utente di HTML.it L'avatar di TigerWB
    Registrato dal
    Apr 2002
    Messaggi
    286

    Application[] in C#

    ciao a tutti ho un problemino con le Application[]
    ho una Application["esempio"] che contiene un array.
    ho la necessità di estrapolarmi un valore.
    Application["esempio"][1]
    mi da un errore.
    Impossibile applicare l'indicizzazione con [] a un'espressione di tipo 'object'.
    come posso fare a risolvere il problema?
    grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Prova a controllare che in Application[esempio] ci sia memorizzato effettivamente un array...

    ciao, javalon

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: Application[] in C#

    Originariamente inviato da TigerWB
    ciao a tutti ho un problemino con le Application[]
    ho una Application["esempio"] che contiene un array.
    ho la necessità di estrapolarmi un valore.
    Application["esempio"][1]
    mi da un errore.
    Impossibile applicare l'indicizzazione con [] a un'espressione di tipo 'object'.
    come posso fare a risolvere il problema?
    grazie a tutti.
    Non ho la più pallida idea di come si estrapoli un valore di un vettore ma se il compito è memorizzare e leggere un vettore da application, in c# (non lo uso, ma il codice mi funziona ) io farei così:

    scrittura vettore di interi
    codice:
    		private void Button1_Click(object sender, System.EventArgs e)
    		{
    			this.Application.Lock();
    			int[] n = {10,20,30};
    			this.Application.Add("vettore", n);
    			this.Application.UnLock();
    
    		}

    lettura del vettore:
    codice:
    		private void Button2_Click(object sender, System.EventArgs e)
    		{
    			int[] v = (int[]) this.Application["vettore"];
    			for(int i = 0; i <= v.GetUpperBound(0); i++)
    				lib.PrintLn(v[i], "v[" + i + "]");
    		}
    dove PrintLn, per evitare la domanda, è una funzione di libreria (basic) che fa semplicemente Response.Write***
    Pietro

  4. #4
    application deve ritornare per forza un object per poter ritornare qualsiasi tipo di dati

    come hai letto nell'ultimo esempio hai necessità di fare boxing dell'oggetto nell'apposito tipo (ovvero un'array di int) altrimenti non puoi accederci

    ovvero
    ((int[])Application["esempio"])[1]

    questo dovrebbe funzionare perfettamente

    Application["esempio"] acquisisce il valore

    è messo tutto tra parentesi tonde per far restituire alle parentesi tonde il tipo convertito in un'array di int e poi da quell'array di int che viene restituito dalle parentesi tonde viene estrapolato un valore
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it L'avatar di TigerWB
    Registrato dal
    Apr 2002
    Messaggi
    286
    ok grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.