Inne działy

 

 

C# typy danych - konwersja typów

 

Często pracujemy z wieloma typami danych na raz. Konwersja jednego typu danych na inny jest wspólnym zadaniem w programowaniu. Type conversion lub typecasting odnosi się do zmiany z jednego typu danych na inny. Istnieją dwa rodzaje konwersji. Niejawne i jawne. Niejawna konwersja typu, znana również jako wymuszenie, jest to automatyczna konwersja typów przez kompilator.

using System;

class CSharpApp
{
static void Main()
{

int val1 = 0;
byte val2 = 15;

val1 = val2;

Console.WriteLine(val1.GetType());
Console.WriteLine(val2.GetType());

Console.WriteLine(12 + 12.5);
Console.WriteLine("12" + 12);

}
}

 W tym przykładzie, mamy kilka niejawnych konwersji.

val1 = val2;  

Tutaj pracujemy z dwoma różnymi typami danych  int i byte . Przypisujemy wartość byte  do wartości int . Jest to operacja poszerzania wartości. Typ int ma cztery bajty, wartość byte posiada tylko jeden bajt. Rosnące konwersje są dozwolone. Jeśli chcemy przypisać int do byte , to byłoby to skrócenie konwersji. Konwersje niejawne skracania nie są akceptowane przez kompilator C#. To dlatego, że w niejawnej konwersji skracania możemy niechcący stracić precyzję danych. Możemy zrobić skrócenie konwersji, ale musimy poinformować kompilator o tym, że wiemy, co robimy. Można to zrobić za pomocą konwersji jawnej.

Console.WriteLine (12 + 12,5);

Dodajemy dwie wartości. Jedną liczbę całkowitą i jedną wartość zmiennoprzecinkową. Wynikiem jest wartość zmiennoprzecinkowa. To poszerzenie jest niejawną konwersją.

Console.WriteLine ("12" + 12);

Wynikiem jest 1212. Liczba całkowita jest konwertowana na ciąg znaków i dwa łańcuchy są połączone.

Teraz pokażemy przykłady jawnych konwersji w C#.

 

using System; 

class CSharpApp
{
static void Main()
{
float a;
double b = 13.5;
int c;

a = (float) b;
c = (int) a;

Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}

 Mamy trzy wartości. Robimy kilka jawnych konwersji z tymi wartościami.

float a;
double b = 13.5;
int c;

Mamy wartość Float, wartość double i  wartość int.

= (float) b;

Mamy przekonwertować wartości double do wartości float. Jawna konwersja odbywa się poprzez umieszczenie wyrażenia pomiędzy dwa nawiasy kwadratowe. W tym przypadku, nie jest tracona precyzja. 13.5 może być bezpiecznie przypisane do obu typów.

C = (int);

Mamy przekonwertować wartość float do wartości int. W tym przypadku, tracimy trochę precyzji. 13,5 staje się 13.

$. / konwersja.exe

13,5

13,5

13

Powyżej wyjście przykładowego programu.

 


 

Typ Nullable

Typom wartości nie można przypisać wartość null. Typy referencyjne mogą. Są aplikacje, które działają z transakcjami bazy danych z wartością null. W związku z tym szczególne rodzaje pustych ciągów wprowadzono w języku C#. Typ Nullable jest reprezentowany przez System.Nullable <T> struct.

 

using System; 

class CSharpApp
{
static void Main()
{
Nullable<bool> male = null;
int? age = null;



Console.WriteLine(male.HasValue);
Console.WriteLine(age.HasValue);
}
}

 Prosty przykład demonstrujący typ Nullable.

Nullable<bool> male = null;
int? age = null;

Istnieją dwa sposoby, w jaki sposób zadeklarować typ nullable. Każda z pustych <T> ogólnej struktury, w których typ jest określony pomiędzy nawiasami. Albo możemy używać znaku zapytania po typie. Ta ostatnia jest w rzeczywistości skrótem pierwszego zapisu.

$. / Nullabletyp.exe

false

false

Powyżej wynik działania programu.

 


 

Konwersja i metoda Parse

Istnieją dwie grupy metod, które mogą nam pomóc w konwersji wartości.

 

using System; 

class CSharpApp
{
static void Main ()
{
Console.WriteLine (Convert.ToBoolean (0,3));
Console.WriteLine (Convert.ToBoolean (3));
Console.WriteLine (Convert.ToBoolean (0));
Console.WriteLine (Convert.ToBoolean (-1));

Console.WriteLine (Convert.ToInt32 ("452"));
Console.WriteLine (Convert.ToInt32 (34,5));
}
}

 Klasa Convert  ma wiele metod przeliczania wartości. Używamy dwóch z nich.

Console.WriteLine (Convert.ToBoolean (0,3));

Mamy przekonwertować wartości double do wartości bool.

Console.WriteLine (Convert.ToInt32 ("452"));

I tu konwertujemy wartość string do int .

 

using System; 

class CSharpApp
{
static void Main ()
{
Console.WriteLine (Int32.Parse ("34"),);
Console.WriteLine (Int32.Parse ("-34"));
Console.WriteLine (Int32.Parse ("+34"));
}
}

Konwersja ciągów do liczb całkowitych jest bardzo częstym zadaniem. Często, kiedy pobieramy wartości z baz danych lub widgetów GUI.

Console.WriteLine (Int32.Parse ("34"),);

Używamy metodę Parse() klasy Int32 aby przekonwertować string do wartości int .

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.