עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

#C איך להפריד רשימה של הגדרות עם key מסויים למערך?

Featured Replies

פורסם

יש לי רשימה של "הגדרות" שבנויות בצורה הבאה:


key:'property'
key:'property'
key:'property'
key:'property'
key:'property'
...

אני מחפש להפריד את ההגדרות עם key מסויים (יש לי ברשימה כמה עם אותו key וה property משתנה בינהם) ולהכניס את ה property שלהם לתוך מערך סטרינג.

ניסיתי להשתמש בביטוי רגולרי, אבל אני ממש בור בקטע הזה ולא הולך לי.

לא עולה לי בראש דרך פשוטה לבצע זאת, אז אני אשמח לעזרה.

פורסם

הרשימה הזו נתונה כמחרוזת אחת ארוכה?

קודם כל אתה יכול לפצל אותה למערך של מחרוזות באמצעות הפונקציה String.Split (כל שורה תהיה איבר במערך), ולאחר מכן לנתח כל שורה באופן עצמאי (לדוגמה לחפש את הנקודתיים ולפצל לפיהן).

גם באמצעות ביטויים רגולרים זה די פשוט, רק צריך לדעת איך להשתמש בהם.... יש הרבה מדריכים ברשת, כגון:

http://www.regular-expressions.info/tutorial.html

http://msdn.microsoft.com/en-us/library/ms228595%28v=vs.80%29.aspx

פורסם
  • מחבר

בשעה טובה הסתדרתי...

זה מה שעשיתי:


string[] pairs = input.Split(new string[] { Environment.NewLine},StringSplitOptions.None);
List<string> aa = pairs.ToList();
aa.RemoveAt(0); //באיבר הראשון אין שום דבר שאני צריך
foreach (string pair in aa)
{
string[] paramvalue = pair.Split(':');
Console.WriteLine(paramvalue[0]);
if (paramvalue[0] == key){
valuesArray.Add(paramvalue[1]);
}
}

והאמת שעכשיו שאני חושב על זה, אני יכול גם להסתדר בלי להוריד את האיבר הראשון מהמערך של ה pairs

פורסם

:xyxthumbs:

פשוט ולעניין.

אם אתה עובד בדוטנט 3.5 ומעלה יכלת גם לוותר על המרת המערך לרשימה, ואז לדלג על האיבר הראשון באמצעות Skip, דהיינו:

string[] pairs = input.Split(new string[] { Environment.NewLine},StringSplitOptions.None);
foreach (string pair in pairs.Skip(1))
{
string[] paramvalue = pair.Split(':');
Console.WriteLine(paramvalue[0]);
if (paramvalue[0] == key){
valuesArray.Add(paramvalue[1]);
}
}

פורסם
  • מחבר

נשמור זאת לעתיד.

תודה :)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.