char (קיצור של character) או תו בעברית הוא טיפוס המייצג אות בודדת, סיפרה בודדת או תו מיוחד בודד.
תו יש לתחום בגרש בודד משני צידיו, לדוגמה: 'א' ,'a', '1', 'π' ....
המעבד לא כל כך מכיר את התווים ולכן מאחורי כל תו מסתתר ערך מספרי.
הערכים נקבעים על פי טבלה מיוחדת שבה ניתן לכל תו מספר, הטבלה נקראת טבלת יוניקוד (Unicode).
טבלת יוניקוד היא טבלה ענקית המכילה את כל התווים שבשימוש ברחבי העולם כולל של שפות נידחות ושפות שאולי כבר נעלמו ונשכחו, היא מכילה יותר מ-110,000 תווים שונים ולכל תו מספר ייחודי.
כשנכתוב 'א' – מבחינת המחשב כתבנו 1488.
כשנכתוב 'a' – מבחינת המחשב כתבנו 97.
כשנכתוב '1' – מבחינת המחשב כתבנו 49.
כשנכתוב '؎' – מבחינת המחשב כתבנו 1550.
וכשנכתוב את התו המאוד מיוחד הזה '⏱' מבחינת המחשב הקלדנו 9201.
בקישור הזה מופיעים כל התווים וערכיהם המספריים בטבלת יוניקוד.
תחביר: דוגמת קוד (CharSample)
1 : classProgram
2 : {
3 : staticvoidMain(string[]args)
4 : {
5 : charch1='a';
6 : charch2='b';
7 : Console.WriteLine(ch1);
8 : Console.WriteLine(ch2);
9 : Console.WriteLine((int)ch1);
10 : charch3='1';
11 : charch4='2';
12 : Console.WriteLine(ch3+"="+(int)ch3);
13 : Console.WriteLine(ch4+"="+(int)ch4);
14 : }
15 : }
שורה 5 הגדרה של משתנה מטיפוס char, שם המשתנה ch1 וערכו הראשוני היא 'a'.
יש לשים לב שתו עטוף בגרש משני צדדיו, בפועל הערך של char הוא לא 'a' אלא ערך היוניקוד (Unicode) של התו 'a'. בשורה 8 - שליחת התו 'a' להדפסה על המסך. בשורה 9 - הדפסת ערך היוניקוד של התו 'a'. בשורות 12 ו-13 הדפסת התו + ערך היוניקוד שלו.