Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

CSharp:Scorciatoie programmazione

From Aino Wiki

Jump to: navigation, search

Istanziazioni

Assegnazione di oggetto al volo

nauticalInfo.Position = new GeoPoint 
{ 
	Latitude = geoPosition.Lat.Value,
	Longitude = geoPosition.Long.Value,
	LastUpdateUTC = currGPSPosition.LastUpdateUTC.Value
};

Dove nauticalInfo.Position è di tipo 'GeoPoint' come la seguente classe:
    public class GeoPoint
   {
       [XmlElement("Latitude")]
       public double Latitude { get; set; }

 

       [XmlElement("Longitude")]
       public double Longitude { get; set; }

 

       [XmlAttribute("LastUpdateUTC")]
       public DateTime LastUpdateUTC { get; set; }
}

Altro esempio:

        Product[] products = new Product[] 
        { 
            new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 }, 
            new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M }, 
            new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M } 
        };

Dichiarazione parametro object valorizzandolo al volo

Purtroppo qs es crea un vettore di oggetti non so come fare per dichiarare al volo uno solo!:
object objAlVolo = new object[] { 1 });

Oppure per passare una variabile anonima di tipo object:

metodoConUnParametroStringa(new[] { "world" });

Assegnazione di una Lista

Ecco come popolare una List di stringhe al volo:
List<string> list1 = new List<string>()
{
	"carrot",
	"fox",
	"explorer"
};
 
 
// Altro metodo
List<string> list5 = new List<string>();
list5.Add("carrot");
list5.Add("fox");
list5.Add("explorer");

Configurazione

Usare Property per ottenere info dal file di configurazione

Occorre aggiungere:

  • la reference a System.Configuration;
  • la using: using System.Configuration;
using System.Configuration;

Per le stringhe:

        public string DirectoryTemplateFiles
        {
            get
            {
                string directoryTemplateFiles = AppDomain.CurrentDomain.BaseDirectory; //Default
                if (ConfigurationManager.AppSettings["WaitIntervallMilliseconds"] != null)
                {
                    string tmp = ConfigurationManager.AppSettings["WaitIntervallMilliseconds"].ToString();
                    if (!string.IsNullOrEmpty(tmp))
                    {
                        directoryTemplateFiles = tmp;
                    }
                }
                return directoryTemplateFiles;
            }
        }

Per i numeri:

        public int WaitIntervallMilliseconds
        {
            get
            {
                int waitIntervall = 0;
                int value = 0;
                if (!int.TryParse(ConfigurationManager.AppSettings["WaitIntervallMilliseconds"], out value))
                {
                    waitIntervall = 1200;
                }
                return waitIntervall;
            }
        }

File di configurazione app.config o web.config così fatto:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="ServiceName" value="" />
 
    <add key="SMTPSettingMailFrom" value="RMSMailAlerter@"/>
    <add key="SMTPSettingHost" value="mail"/>
    <add key="SMTPSettingPort" value="25"/>
 
 
    <!-- ********************************************************************** -->
    <add key="HistoryRangeMinutes" value="240" />
    <!-- In millisecondi -->
    <add key="WaitIntervallMilliseconds" value="12000" />
 
    <add key="DirectoryTemplateFiles" value="" />
  </appSettings>
 
  <connectionStrings>
    <add name="Route" providerName="System.Data.SqlClient" connectionString="Data Source=go;Initial Catalog=Test;User Id=Fleet;Password=xxx;Integrated Security=False" />
  </connectionStrings>
</configuration>

Iterazioni

ForEach compatto

Usando l'operatore =>:

lstRadarGz[indexRadarArray].ForEach((item) =>
	{
		selectedRadarGz.Add(item);
	});

C# | Tips programmazione

Author