כאשר אתה מכריז על משתנה חדש ב-C#, אתה בדרך כלל מאתחל אותו עם סוג נתונים מסוים. זה עשוי להיות מספר שלם, עשרוני, בוליאני, מחרוזת או סוג אחר של נתונים.
ניתן להמיר ערך מסוג נתונים אחד לאחר. לדוגמה, אם אתה ממיר מחרוזת למספר שלם, תצטרך לנתח תחילה את הערך. הנה כמה דרכים שונות שבהן תוכל להמיר ולנתח ערכים.
מדוע אתה צריך להמיר או לנתח נתונים?
דוגמה למקרים שבהם ייתכן שתצטרך לנתח נתונים היא אם אתה מבקש קלט משתמש ביישום מסוף C#:
לְנַחֵם. WriteLine("הכנס את הגיל שלך:");
שכר מחרוזת = קונסולה. קריאת שורה();
במקרה זה, המשתמש יזין ערך של מספר שלם, אך האפליקציה תשמור אותו כמחרוזת כברירת מחדל. אם ניסית להשתמש בערך המחרוזת בחישובים כלשהם, תקבל שגיאת קומפילציה:
סיבה נוספת להמרת סוגי נתונים היא גישה לשיטות מסוימות הזמינות רק עבור סוג נתונים ספציפי. לדוגמה, המבנה DateTime מכיל פונקציה המאפשרת לך להוסיף דקות. אם היית משתמש במחרוזת במקום זאת, לא הייתה לך גישה לשיטה:
ייתכן שתרצה גם להמיר ערך לסוג נתונים אחר אם היית צריך לעקוב אחר מבנה סוג הנתונים של a מחלקה נוצרה ב-C# או א מבנה ב-C#.
כיצד להמיר ולנתח סוגי נתונים שונים
אתה יכול לנתח סוגי נתונים שונים כגון מספרים שלמים, כפולים, סוגים בוליאניים וסוגי תאריך ושעה.
מחרוזות למספרים שלמים
כדי להמיר מחרוזת למספר שלם, השתמש בשיטת Parse():
string strInt = "45";
int int32 = Int32.Parse (strInt);
לְנַחֵם. WriteLine (int32); // פלט: 45
אתה יכול גם לנתח את המחרוזת למספרים שלמים בגדלים שונים של סיביות, כגון Int16, Int32 או Int64.
int int16 = Int16.Parse (strInt);
לְנַחֵם. WriteLine (int16); // פלט: 45
אם אתה משתמש בשיטת Parse(), ודא שערך המחרוזת מייצג מספר שלם. אם תנסה לנתח ערך שאינו מספר שלם כגון "שלום", תקבל שגיאת ניתוח בזמן הריצה.
string invalidString = "שלום";
int invalidResult = Int32.Parse (invalidString);
אתה יכול גם להשתמש בשיטת TryParse() כדי לתפוס חריגים שעלולים להתרחש בעת ניתוח:
int tryParseResult = 0;
אם (Int32.TryParse(invalidString, הַחוּצָהtryParseResult))
{
לְנַחֵם.WriteLine(tryParseResult);
}
אַחֵר
{
לְנַחֵם. WriteLine("משהו השתבש");
}
כדי להמיר מספר שלם בחזרה למחרוזת, השתמש בשיטת ToString():
string intString = 45.ToString();
לְנַחֵם. WriteLine (intString); // פלט: 45
מחרוזות לכפולות
ניתוח מחרוזת לכפולה דומה מאוד לניתוח אחד למספר שלם. השתמש בשיטת Parse() מהמחלקה Double:
מחרוזת strDouble = "90.5";
לְהַכפִּיל ד = כפול. ניתוח (strDouble);
לְנַחֵם. WriteLine (ד); // פלט: 90.5
כמו במספרים שלמים, אתה יכול גם להשתמש בשיטת TryParse() כדי לתפוס שגיאות ניתוח שעלולות להתרחש:
string invalidStringDouble = "שלום";
לְהַכפִּיל tryParseDouble = 0;
אם (לְהַכפִּיל.TryParse(invalidStringDouble, הַחוּצָהtryParseDouble))
{
לְנַחֵם.WriteLine(tryParseDouble);
}
כדי להמיר חזרה כפולה למספר שלם, השתמש בשיטת ToString():
לְהַכפִּיל dDouble = 90.5;
מחרוזת dString = dDouble. ToString();
לְנַחֵם. WriteLine (dString); // פלט: 90.5
מכפילים למספרים שלמים
אתה יכול להשתמש בהטלה כדי להמיר כפול למספר שלם. מכיוון שמספר שלם מאחסן רק מספר שלם, ההמרה תסיר את המקומות העשרוניים. לדוגמה, המרת "12.34" תשמור רק את הערך "12".
לְהַכפִּיל dValue = 12.34;
int iValue = (int)dValue;
לְנַחֵם. WriteLine (iValue); // פלט: 12
אתה יכול גם להעביר מספר שלם בחזרה לכפול:
dValue = (לְהַכפִּיל)אני מעריך;
לְנַחֵם. WriteLine (dValue); // פלט: 12
מחרוזות וערכים בוליאניים
כדי להמיר מחרוזת לבוליאנית, השתמש בשיטת Parse() או ToBoolean():
string stringBool = "נָכוֹן";
bool b = bool. ניתוח (stringBool);// או
b = המרה. ToBoolean (stringBool);
לְנַחֵם. WriteLine (ב); // פלט: נכון
כדי להמיר חזרה בוליאני למחרוזת, השתמש בשיטת ToString():
מחרוזת strTrue = נָכוֹן.ToString();
string strFalse = שֶׁקֶר.ToString();
מספרים שלמים וערכים בוליאניים
כדי להמיר מספר שלם לבוליאנית, השתמש בשיטת ToBoolean() כדי להמיר "1" או "0" לערך הבוליאני המקביל שלו. הערך "1" ימיר ל-"true" בעוד "0" ימיר ל-"false":
int falseBit = 0;
int trueBit = 1;
לְנַחֵם. WriteLine (המר. ToBoolean (falseBit)); // פלט: שקר
לְנַחֵם. WriteLine (המר. ToBoolean (trueBit)); // פלט: נכון
אתה יכול גם להעביר ערך של מספר שלם שאינו "1" או "0" לשיטת ToBoolean(). כברירת מחדל, השיטה עדיין תחזיר "true":
int invalidBit = 8;
לְנַחֵם. WriteLine (המר. ToBoolean (invalidBit)); // פלט: נכון
כדי להמיר חזרה בוליאני למספר שלם, השתמש ב- Convert. שיטת ToInt32() המרת "true" תחזיר "1", והמרת "false" תחזיר "0".
bool iBool = נָכוֹן;
int bInt = המר. ToInt32(iBool);
לְנַחֵם. WriteLine (bInt); // פלט: 1
מחרוזות ל-DateTime
כדי לנתח מחרוזת לפורמט תאריך שעה, השתמש ב-DateTime. שיטת Parse():
DateTime newDateTime = DateTime. לְנַתֵחַ("01/01/2018 00:00:00");
לְנַחֵם. WriteLine (newDateTime); // פלט: 01/01/2018 00:00:00
כדי להמיר תאריך ושעה חזרה למחרוזת, השתמש בשיטת ToString():
DateTime dt = חָדָשׁ תאריך שעה(2018, 1, 1);
מחרוזת dtString = dt. ToString();
לְנַחֵם. WriteLine (dtString); // פלט: 01/01/2018 00:00:00
ניתוח ערכים לסוגי נתונים שונים
כעת אתה מבין כיצד להמיר ערכים מסוג נתונים אחד לאחר. אלו אינן ההמרות היחידות בחוץ, אז אל תהסס ללמוד עוד על סוגי נתונים אחרים ב-C#.
אתה יכול גם לחקור כיצד סוגי נתונים אחרים עובדים בשפות אחרות, כגון JavaScript.