עבור לתוכן

ארגומנטים של שורת פקודה|C#

Featured Replies

פורסם

מה הכוונה ארגומנטים של שורת פקודה?(לאיזה שורת פקודה הם מתכוונים?)

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class CommandLine
{
static void Main(string[] args)
{
int ctr = 0;
if (args.Length <= 0)
{
Console.WriteLine("No Command Line arguments were provided");
return;
}
else
{
for(ctr=0;ctr<args.Length;ctr++)
{
Console.WriteLine("Argument {0} is {1}", ctr+1,args[ctr]);
}
}
}
}
}

הם הביאו שני קלטים-אחד נכנס לIF והשני לELSE. בהתחלה הם לא הכניסו כלום ולכן זה כתב:"No Command Line arguments were provided"

בקלט השני הם הכניסו: xxx,153 ,354,942 -זה נכנס ל-ELSE והציג את הקלט.

השאלה שלי היא איך הם הכניסו קלט? אם אני מפעיל את התוכנית היא ישר נכנסת ל-IF בלי לבקש קלט. אז מה הם עשו בדיוק??

תודה מראש!!

פורסם

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

program.exe abc 123 def

אז הפרמטרים abc, 123 ו-def הם הארגומנטים לתכנית (הם מועברים לתוכנית כשלוש מחרוזות).

בשביל להעביר ארגומנטים לתכנית שלך, בצע את הפעולות הבאות מתוך ה-Visual Studio:

1. כפתור ימני על הפרוייקט שלך.

2. לחץ על properties.

3. לחץ על Debug.

4. ב-Command line arguments רשום את הארגומנטים שאתה רוצה להעביר לתכנית (לדוגמה, abc 123 def).

עכשיו כל פעם שתריץ את התכנית הזו מתוך ה-Visual Studio היא תרוץ עם הארגומנטים הללו.

פורסם

לגבי דינוזאורים, אני מניח שזה אמור להיות סוג של סרקאזם, כי יש את העניין הזניח הזה שנקרא סקריפטים... :)

אה ואתה ממש לא חייב שורת פקודה בשביל ארגומנטים. לדוגמה כשאתה עושה דאבל קליק על קובץ תמונה, המנהל

קבצים קורא ברקע לתוכנה שמציגה תמונות עם שם הקובץ (או משהו מאוד דומה) כארגמנט.

פשוט תחשוב על main כפונקציה שהמערכת הפעלה קוראת לה, היא מקבלת מערך של מחרוזות ( args)

כארגמט ומחזירה מספר שגיאה.

פורסם
  • מחבר

פעם, בעבר הרחוק בתקופת הדינוזאורים, היו מריצים תוכניות מתוך שורת פקודה.

הספר שאני לומד ממנו הוא דיי ישן -משנת 2002... אתה חושב שכדאי לי ללמוד מספר אחר חדש יותר או שאין הרבה הבדלים??

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

יש לי עוד שאלה קטנה. ב-CMD איך אני עושה שזה יחפש את הקובץ בתיקייה מסויימת ??

תודה על העזרה :xyxthumbs:

פורסם

ברמה העקרונית זה לא ממש משנה מאיזה ספר אתה לומד, אבל אם הספר מ-2002 זה אומר שהוא מלמד לפי אחת הגרסאות הראשונות של #C (גרסה 1.0 או 1.1). מאז יצאו כמה גרסאות חדשות יותר (הגרסה הנוכחית היא 4.0). למרות שרוב ההבדלים לא קריטיים, הבדל אחד עיקרי בין גרסה 1.1 ל-2.0 הוא Generics, קונספט שנכנס בגרסה 2.0 ושינה משמעותית את האופן בו מייצגים אוספים של אובייקטים.

לדוגמה, בשלב מסוים בלימוד אתה כנראה תגיע ללמוד על ArrayList, מחלקה המייצגת רשימה (דינמית, בניגוד למערך) של אובייקטים. החל מגרסה 2.0 לא נהוג יותר להשתמש בה, אלא במחלקה "מתקדמת" יותר בשם List (שמשתמשת במנגנון ה-Generics שציינתי לעיל).

ארכיון

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

דיונים חדשים