שאלה על visual c# 2005 express

Yoava333

New member
שאלה על visual c# 2005 express

איך אני מפעיל את הקובץ - רשמתי קובץ שמרתי אותו כ-bla.cs איך אני מפעיל אותו?
 

Yoava333

New member
לא משנה... + דבר מוזר (אני חושב)

התחלתי לשחק קצת עם בתוכנה והנה משהו מוזר: כתבתי:
#region Using directives using System; using System.Collections.Generic; using System.Text; #endregion namespace ListFiles { class Program { static void Main(string[] args) { int x; x = Console.Read(); Console.Write("this is the var x and its {0}",x); } } }​
והתוצאה היא:
1 this is the var x and its 49​
הקלדתי 1 ויצא 49 איך?
 

Zeliran

New member
......

זו לא שגיאה או באג... הוא פשוט מציג לך את הקוד של התו שהכנסת (במקרה הזה הקוד של הספרה 1 הוא 49), אם תזין 2 אז תקבל 50 וכך הלאה.. מה שאתה צריך לעשות זה להמיר את הערך, כלומר:
Console.WriteLine(Convert.ToChar(x));​
וזה אמור לעבוד..
 

סומבודי

New member
תשובה

stack segment = מחסנית (אזור זיכרון) עליה נערמים אובייקטים (ב.NET, רק מסוג value). מה בא אחרון, יוצא ראשון. managed heap = אזור זיכרון מנוהל עליו נרעמים אובייקטים (מסוג reference), אשר משתחררים ע"י ה-GC.
 

סומבודי

New member
Enumerator-ים

משמשים לאיטרציה (מעבר סדרתי) על אברי מערך, אוסף וכדומה. דוגמא:
ArrayList list; ... IEnumeraator enumerator = list.GetEnumerator(); while(enumerator.MoveNext()) enumerator.Current = someObject;​
 

Yoava333

New member
תודה ! ועל מערכים

איך אני יכול לקבוע מערך בלי לקבוע את הגודל שלו בדו מימדי זה לא בעיה אבל כל הנסיונות שלי בחד מימדי לא עבדו
 

Yoava333

New member
ועוד משהו ...

למה הקוד הזה לא פועל אני מנסה לקלוט משתנה ולכתוב כל מספר שמכיל את המספר שהמשתמש הכניס:
#region Using directives using System; using System.Collections.Generic; using System.Text; #endregion namespace ConsoleApplication1 { struct Person { public string fristName; public string lastName; public int age; } class Program { static void Main(string[] args) { string y = Console.ReadLine(); for (int e=0;e<100;e++){ foreach (string y in e) { Console.Write(e+" "); } } } } }​
 

סומבודי

New member
לגבי מערכים

בעיקרון, גודל המערך נקבע בזמן האתחול. אם אתה מעוניין במערך דינמי, השתמש באחת המחלקות מ-System.Collections. ArrayList יענה על צורך במערך פשוט עם יכולות Add, Clear וכדומה. לגבי השאלה השנייה, לא הבנתי מהי מטרתך. בכל מקרה, על מנת לחלץ מערך מ-int עליך להשתמש ב-int.ToString().
 

סומבודי

New member
כוונתי היתה

לחילוץ מחרוזת, לא מערך. כמו כן, foreach ניתך ליישום על אובייקטים שממשים את ICollection. string או int אינם נכללים בהם, כמובן.
 

itaym02

New member
רגע

1. תשתמש בWriteLine במקום בWrite 2. בתוך משפט הforeach אתה מגדיר את y כמשתנה חדש. לכן כל מה שהיה בו קודם - לא נגיש. 3. foreach(string y in e) פרוש משפט כזה לעיברית: תעבור על האוסף\מערך E ותביט על כל איבר שלו כעל STRING. כמובן שE זה לא STRING ולא אוסף כאם INT 4. לא הבנתי מה אתה מנסה לעשות - נסח מחדש בבקשה
 

itaym02

New member
נראה לי שהבנתי

אתה מנסה להדפיס למסך רק את המספרים שהמשתמש מכניס בתוך הקלט, ולהתעלם מתווים אחרים. אם כן, אז: (קודם כל, כן צריך WRITE סליחה)
static void Main(string[] args) { string y= Console.ReadLine(); //This is just a suggestion - you can avoid using try-catch // Just investigate foreach (char c in y) { try { int no=int.Parse(c.ToString()); Console.Write("{0}",no); } catch { } } }​
ואל תשכח להשתמש בCTRL+F5
 
למעלה