[RISOLTO][C#] Istanziamento classi
Salve, da poco mi sono interessato alla programmazione (nello specifico nel linguaggio C#) e sto leggendo un sacco di roba trovata sparsa per la rete (compreso l'ottimo volume nel Thread fisso).
Mi è oscuro però un dettaglio sull'utilizzo degli oggetti, cioè:
io creo una classe con i suoi campi, metodi e proprietà; poi la istanzio generando un oggetto appartenente a quella classe e fin qui tutto bene, durante le mie prove sull'IDE (visual studio express della microsoft) ho provato a generare l'oggetto all'interno di un loop "for" e noto che, seppur i valori vengono passati correttamente al costruttore e (è una applicazione console) stampo a riga di comando i vari dati dell'oggetto dopo la sua creazione e trattandosi di un ciclo che si ripete "n" volte non riesco a capire come posso gestire questi oggetti successivamente alla loro creazione.
Per essere preciso ho creato una classe che contiene i vari dati numerici degli indirizzi delle schede di rete con le relative proprietà; poi in un loop "for" per ogni scheda di rete immetto nell'oggetto nome e indirizzi vari e ne stampo i valori (i valori dell'oggetto non della scheda di rete); i valori escono tutti e in maniera corretta ma non capisco come faccia il programma a creare un oggetto X "n" volte con lo stesso nome.
Lo sovrascrive?
In realtà a programma eseguito ho in memoria "n" oggetti con lo stesso nome? E se si come faccio a gestire oggetti con lo stesso nome, non è un'ambiguità?
il listato del mio programma:
Salve, da poco mi sono interessato alla programmazione (nello specifico nel linguaggio C#) e sto leggendo un sacco di roba trovata sparsa per la rete (compreso l'ottimo volume nel Thread fisso).
Mi è oscuro però un dettaglio sull'utilizzo degli oggetti, cioè:
io creo una classe con i suoi campi, metodi e proprietà; poi la istanzio generando un oggetto appartenente a quella classe e fin qui tutto bene, durante le mie prove sull'IDE (visual studio express della microsoft) ho provato a generare l'oggetto all'interno di un loop "for" e noto che, seppur i valori vengono passati correttamente al costruttore e (è una applicazione console) stampo a riga di comando i vari dati dell'oggetto dopo la sua creazione e trattandosi di un ciclo che si ripete "n" volte non riesco a capire come posso gestire questi oggetti successivamente alla loro creazione.
Per essere preciso ho creato una classe che contiene i vari dati numerici degli indirizzi delle schede di rete con le relative proprietà; poi in un loop "for" per ogni scheda di rete immetto nell'oggetto nome e indirizzi vari e ne stampo i valori (i valori dell'oggetto non della scheda di rete); i valori escono tutti e in maniera corretta ma non capisco come faccia il programma a creare un oggetto X "n" volte con lo stesso nome.
Lo sovrascrive?
In realtà a programma eseguito ho in memoria "n" oggetti con lo stesso nome? E se si come faccio a gestire oggetti con lo stesso nome, non è un'ambiguità?
il listato del mio programma:
Codice:
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.NetworkInformation;
using System.Collections;
namespace testconsolegetsetip
{
class Program
{
public class Adapters
{
string nome;
string ip;
string subnet;
string gateway;
string dns;
public Adapters(string name, string ipv4, string sub, string gatew, string dnsv4)
{
nome = name;
ip = ipv4;
subnet = sub;
gateway = gatew;
dns = dnsv4;
}
public string name
{
set{nome = value;}
get { return nome; }
}
public string ipv4
{
set{ip = value;}
get { return ip; }
}
public string sub
{
set{subnet = value;}
get { return subnet; }
}
public string gatew
{
set{gateway = value;}
get { return gateway; }
}
public string dnsv4
{
set{dns = value;}
get { return dns; }
}
}
static void Main(string[] args)
{
ArrayList lista = new ArrayList();
foreach (NetworkInterface Nic in NetworkInterface.GetAllNetworkInterfaces())
{
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
if (Nic.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || Nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
Adapters interfaccia = new Adapters(Nic.Name, "Indirizzo IP", "Subnet Mask", "Gateway", "Server DNS");
Console.WriteLine("Interfaccia aggiunta:" +interfaccia.name);
Console.WriteLine("Ha indirizzo IP:" + interfaccia.ipv4);
Console.WriteLine("Ha Subnet Mask:" + interfaccia.sub);
Console.WriteLine("Ha Gateway:" + interfaccia.gatew);
Console.WriteLine("Ha Server DNS:" + interfaccia.dnsv4);
Console.WriteLine();
}
}
Console.WriteLine();
Console.ReadLine();
}
}
}
Ultima modifica: