שלום,
קטנה על StringBuilder

שלום, ../images/Emo35.gif קטנה על StringBuilder

שלום
אני מחפשת ולא מוצאת כיצד אני יכולה לקרוא StringBuilder תו תו
אם אני רוצה לקרוא את התו שנמצא במקום X - יש לי אפשרות כזו
או לחילופין: האם יש אפשרות לרוץ בלולאה על כל אחד מהתוים שנמצאים בStringBuilder
רבה מראש!
 
אוקיי - בערך הסתדרתי אבל -

שאלה - בהנחה שהמטרה שלי היא לעקוב אחרי מה שהמשתמש מקליד - ולבחון כל תו על מנת לזהות מילים מסויימות... יתכן שעדיף לי בעצם לעבוד עם string ולא עם stringbuilder
כי בסה"כ האפשרות של לגשת לתו מסויים במחרוזת קיימת במחרוזת הרגילה... אני צודקת
שוב תודה!
ולילה נפלא
 

adam222

New member
לכי על string רגיל

אין שום תוספת (עבור משימה זו) בשימוש ב-stringbuilder
 

adam222

New member
//////////////

for (int i=0; i<result.Length; i++) s=result.ToString().Substring(i,1);​
 
אוקי - עוד שאלה לגבי זה -

סליחה על זה שאני מתקדמת כאן לאט... אבל: המשתמש מקליד תו תו. הבנתי שהחסרון במחרוזת היו שהיא קבועה ולא ניתנת לשינוי. אני רוצה שהיא תיבנה דינאמית תוך כדי הקלדה - תו ראשון - מחרוזת מכילה תו אחד תו שני - המחרוזת מכילה שני תוים וכו'... מצד אחד אני רואה בספרים שSTRING לא משתנה לאחר יצירתה ושזה בזבוז לבחור בה אם אתה יודע שהיא משתנה... מצד שני ב STRINGBUILDER אני לא מוצאת נגישות לתו מסויים בתוך המחרוזת... אז איך כדאי לי לעבוד כאן?
שוב תודה והמשך לילה נפלא
!
 

Zeliran

New member
למה לא משתנה?

אם את קובעת מה יהיה האורף של המחרוזת, אז באמת יש גבול.. ואם לא אז את יכולה כל הזמן להוסיף לה תווים, למשל לאחר הקוד הבא:
string str = null; str = a; str += b; Console.Write(str);​
אז הפלט של התוכנית יהיה ab
 
אפשר עוד ../images/Emo35.gif קטנה לגבי "b\"? ../images/Emo9.gif

בוקר טוב, לא יודעת אם זה חשוב, אבל לצורך העניין אני עובדת עם richtextbox. כשהמשתמש מקליד רווח,באירוע KeyDown, אני מזהה את זה על פי מציאת space ב-e.KeyCode.ToString כעת, אני רוצה להמיר את זה לרווח "אמיתי" ולכן אני משתילה למחרוזת "b\" במקום המילה הזו. הבעייה - הוא מקבל את זה כסימן מוזר של מן ריבוע... ולא כרווח. חשבתי שאולי זו דרכו להציג רווח, אך אם אני יוצרת מחרוזת עם רווח בפנים, וקולטת מתוכה את הרווח ה"אמיתי" וממירה באמצעותו את המילה SPACE במחרוזת שנקלטת מהמשתמש, הוא לא ממיר את זה לריבוע המוזר, אלא שם את זה כרווח נורמלי. איך אני מגיעה אל הרווח הזה מבלי להשתיל רווח מוכן ממחרוזת קיימת
תודה , והמשך יום נפלא!
 

pagis

New member
זה לא אותו ה string

ה string באמת לא משתנה מה שאתה עשית זה פשוט לבנות אובייקט string חדש בזכרון שמכיל את הנתונים שהיו ב string הישן + מה שהוספת ולעדכן את ה reference שלך אל ה string החדש שיצרת. אין אם זה שום בעיה רק שיהיה ברור שה string לא משתנה. חסרון אחד של השיטה הזו יכל להיות במקרים שיש לך הרבה מאוד שינויים במהלך הריצה ואז יכל להיווצר עומס על הזכרון, בהתאם לכמות האובייקטים שתצרי מחדש, אבל מדובר רק בכמויות גדולות.
 
אמממ... אז בעיה, כי מדובר בכמויות ג

-- בכמויות גדולות, וזו לאור העובדה שאני בונה מעין EDITOR כך שאני מבצעת את זה עבור כל תו שהמשתמש מקליד על מנת לעקוב אחריו ולזהות מילים ותוים מסויימים. אז לפי מה שאתה אומר נראה לי שזה לא פתרון מומלץ
מה לדעתך עדיף לי לעשות?
והמשך יום נעים
 
זה מחזיר אותי אבל לבעיה שאין כנראה

אפשרות לגשת לאובייקט הזה תו אחרי תו,(זו היתה השאלה שאיתה התחלתי) ואם יש, אז לא הצלחתי למצוא אותה, היא קיימת
ושוב תודה!
 

adam222

New member
לא ניתן ישירות דרך האובייקט

אבל ניתן לגשת דרך ה-ToString שלו - כך שולפים את ה-String שבנית
 
../images/Emo41.gifלפני שתורידי עליי נבוט|הסתדרתי..

הגעתי למסקנה - אני בעצם לא צריכה לא STRING ולא STRINGBUILDER כי יש לי את כל האופציות במתודות הקיימות של richtextbox
שוב
ומבטיחה להשתדל לא להטריד יותר מידי.
יום טוב
 

adam222

New member
מרוב בילבול בזהות המינית

ניגשתי ובדקתי בכרטיס... וגילתי שאני 'זכר' עכשיו הכל בסדר... תודה לדואגים שהתקשרו לשאול
 
למעלה