-
@dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:
0 זה באמת int ולא long.
הסיבה שאם כותבים long זה יעבוד כי תמיד אפשר להציב int בתוך long בהמרה מרומזת כי אין איבוד מידע.לא ברור לי אם אתה מתווכח על משהו אקדמי בלי שום השלכה מעשית? כי בכל מקרה ההצהרה ש:
אין מצב ששינוי var לטיפוס תעזור
לא נכונה.
טסט:
var i = 1; i += int.MaxValue; Console.WriteLine($"i = {i}"); long j = 1; j += int.MaxValue; Console.WriteLine($"j = {j}"); // Output: // i = -2147483648 // j = 2147483648
-
@dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:
@אוריי סליחה על החריפות אבל אתה עושה דברים בלי להבין.
לא נבהל מחריפות ... אם לא זה איך אני ילמד... ככל שעולה החריפות אני לומד יותר
אבל עד כמה שתחשוב שאני עושה דברים בלי להבין אבל אתה צריך להבין אותי שאני מגיע ממקום של vba ולכן אתה רואה את הקוד שלי מסורבל מידי אבל (לאט לאט אבל בטוח) אני משתפר בזה..@dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:
בשביל לבנות כזה קוד, אתה כותב פיסת קוד נסיונית קטנה שמכילה רק את מה שרלוונטי:
את האמת התחלתי גם מחתיכת קוד ניסיונית והכל עבד מעולה ומשם המשכתי. אך מה שקרה זה שבעת שהמרתי לint התחילו הצרות (מה שהתברר כטעות).
@dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:
אני כתבתי לך את הקוד כדי להקל על השיעורי בית וללמד אותך עוד טיפ או שניים:
אני מקווה שזה לא יהיה בגדר של לעזור לאפרוח לצאת מהביצה ...
אני בע"ה ישב טוב במוצא"ש להבין את הקוד לעומקו (אני לא מסכים לעצמי בשופו"א להעתיק סתם קוד בלי להבין יהיה כמה מסורבל שיהיה זה בשבילי קו אדום) -
@dovid
דבר אחד לא הבנתי בקוד זה השורה הזו@dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:
var fileArray = Directory.GetFiles(".", "*.jpg");
השאלה היא למה כתבת כך ומה ההבדל אם יש? (חוץ מהאורך של הקוד).
אני קודם כתבתי כך :var fileArray = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\");
אני כתבתי כך כי אני לא יודע איזה סיומת תהיה לי בהסרטות או בתמונות.
וכרגע אני שם לב ששלך מחזיר (ממה שבדקתי עד עתה) את אותה התוצאה.
עריכה: עכשיו אני שם לב שלא קימפלתי נכון ולכן הוא החזיר את אותה התוצאה.. -
@אוריי התחביר של Directory.GetFiles הוא כזה:
Directory.GetFiles(<search_pattern>)
הנתיב
"."
פירושו התיקיה הנוכחית והוא זהה לתוצאה של:Directory.GetCurrentDirectory() + @"\"
הפרמטר השני שהוסיף @dovid הוא תבנית החיפוש, ויש הגיון לחפש רק בקובצי תמונה ולא לשנות את התאריך של קבצים אחרים שבמקרה קיימים בתיקיה.
-
@odeddvir
עכשיו אני שם לב שיש הבדל ביניהם שהקוד שכתבתי הוא מחזיר לי את כל שמות הקבצים וש @dovid הביא זה מחזיר רק jpg ..
משא"כ אני יכול לחסוך בנתיב ...
השאלה היא האם באמת יש דרך לקבל רק דבר שהסוג שלו זה תמונה או הסרטה מכל סוגי הסיומות או שאני צריך להכניס את כולם...עריכה: מבדיקה שלי יש נתון בקובץ בשם
מסוג
ששם לא משנה לו מה הסיומת אלא לפי סוג אם זה תמונה אז כתוב תמונה ואם זה וידאו אז רשום וידאו אני חושב שאולי יהיה אפשר לחפש ע"פ זה השאלה היא איך..
מצורף תמונה
-
@odeddvir
אצלי הסיומות הם קטנות ועם כל זה הוא מקבל אותם כגדול
-------- .\IMG_3005.JPG 05/06/2021 21:35:34 05/06/2021 22:42:58 -------- .\IMG_3006.JPG 05/06/2021 21:35:34 05/06/2021 22:42:58 -------- .\IMG_3007.JPG 05/06/2021 21:35:34 05/06/2021 22:42:58 -------- .\IMG_3009.JPG 05/06/2021 21:35:34 05/06/2021 22:42:58 -------- .
למה? אני לא יודע...
חוצמזה קודם זה היה קטן ותכלס זה לא כיסה על שום אפשרות... אפי' על אלו שהיו כתובים באותיות קטנות -
@אוריי א. בצילום שהבאת האותיות הן גדולות.
ב. בדר"כ גם מצלמות יוצרות סיומות עם אותיות גדולות בגלל שיטת הכתיבה של קבצי התמונה, לכן השינוי שעשית יעבוד לרוב. אם יום יבוא ותיתקל בסיומת באותיות קטנות - הקוד ידלג עליו, לכן הצעתי את השיפור הנ"ל בסוף שורה 2 (נראה לי שלא שמת לב אליו) -