פורסם 2014 ביולי 2611 שנים מחבר נכון, עכשיו אני רואה שרק הראשון השתמש בשניהם, בשאר התשובות השתמשו רק בstream...אז באופן כללי, במה עדיף להשתמש? מבחינת יעילות וכו' (הרי אני מניח שהמפתחים לא סתם עשו את שתי האפשרויות האלה)?
פורסם 2014 ביולי 2611 שנים שוב, שניהם זהים לחלוטין. הפונקציה File.Open קוראת ל-new FileStream ומחזירה את התוצאה שלה. המפתחים של #C פשוט הכניסו את שתי האופציות לנוחות המשתמשים.חוץ מזה הראשון לא עשה new FileStream, הוא רק עשה File.Open.
פורסם 2014 ביולי 2611 שנים מחבר אוקיי, תודה. FileStream stream = null; try { stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None); }אהה,התכוונת לחלק עם הnew? אני התכוונתי לשורה הראשונה, ביחד עם השורה הרביעית הוא עשה כאן מיקס די מיותר, אין סיבה גם להגדיר stream וגם בסוף להשתמש בfile.open נערך 2014 ביולי 2611 שנים על-ידי eido300
פורסם 2014 ביולי 2611 שנים ודאי שיש סיבה, אחרת איך הוא ישמור את התוצאה של File.Open? הוא חייב לשמור את התוצאה בתוך משתנה על מנת שיוכל לסגור את הקובץ (על ידי הקריאה ל-Close).
פורסם 2014 ביולי 2611 שנים מחבר filestream אני כותב את השם שלו.close() לfile אין שם איך אני ניגש אליו?תוכל להביא דוגמא איך סוגרים את זה:file.open(path, filemode.readwrite);עריכה: אוקיי מצטער על כל השאלות הקטנוניות, אני פשוט לא מצליח להבין למה צריך את file.open?file.read או file.write וכו' אני מבין, משתמשים בהם בפועל, אבל סתם לפתוח את הקובץ? הרי אחרי שפתחתי אותו אני לא יכול לגשת אליו בשום צורה שהיא (לפחות לא שידועה לי), בfilestream אני יוצר משתנה עם שם שדרכו אני יכול לגשת לתוכן הקובץ אבל סתם file.open מה עושים איתו? נערך 2014 ביולי 2611 שנים על-ידי eido300
פורסם 2014 ביולי 2711 שנים שוב, File.Open פשוט מחזיר FileStream. אתה שומר את התוצאה של File.Open בתוך משתנה מטיפוס FileStream ואז אתה יכול לעשות מה שבה לך עם המשתנה הזה. כשאתה עושה סתם ככה:File.Open(path, FileMode.ReadWrite);אז אתה לא שומר את התוצאה של הפונקציה בשום מקום, ולכן היא "הולכת לאיבוד". אם לעומת זאת תשמור את התוצאה בתוך משתנה:FIleStream fileStream = File.Open(path, FileMode.ReadWrite);אז עכשיו אתה יכול לבצע פעולות על המשתנה fileStream, כולל לקרוא ממנו (fileStream.Read) ולסגור אותו (fileStream.Close).
פורסם 2014 ביולי 2711 שנים אני ממליץ תמיד לאתחל את ה FileStream עם using:using(FileStream fileStream = File.Open(path, FileMode.Open)) {}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.