@dovid יש הבדל ברור בין Sum ל-Max, כשקוראים ל-Sum על מערך ריק התוצאה היא 0, כי זה באמת הסכום הכולל של כל הערכים במערך, אבל בקריאה ל-Max על מערך ריק, החזרה של ערך דיפולטיבי תהיה שגויה, כי זה בעצם אומר לך שהערך המקסימלי במערך הוא 0, וזה לא נכון כי אין בכלל ערך מקסימלי, ולכן התוצאה היא InvalidOperationException.
קומפיונט
-
Linq החיסרון של MAX לאיתור הערך הגדול ביותר ברצף. -
Linq החיסרון של MAX לאיתור הערך הגדול ביותר ברצף.@dovid הבעיה היא שאם Max יחזיר ערך דיפולטיבי למערך ריק, זה תוצאה שלא ברור מה המשמעות שלה, כי יכול להיות שהערך המקסימלי הוא 0, וגם יכול להיות שהמערך ריק, זה מה שצריך למנוע על ידי זריקת השגיאה.
זה רעיון שנמצא בהרבה פונקציות, נגיד אם אנחנו רוצים את האיבר הראשון במערך ונקרא ל-
Firstאז נקבל שגיאה אם המערך ריק. אם זה יחזיר ערך דיפולטיבי זה גם יהיה דו משמעותי, או שהמערך ריק, או שהאיבר הראשון הוא דיפולטיבי.בקשר לאפס והמינוס, אני לא חושב שזה באמת הסיבה, והראיה שלי כי במערך של
uintהערך הנמוך הוא 0 וגם שם נזרקת שגיאה. -
BLAZOR - האם זה יעיל?@Y-Excel-Access כתב בBLAZOR - האם זה יעיל?:
BLAZOR זה יישום FULL STACK. יש לו שני חלקים, SERVER ו WEB ASSAMBLY
שים לב ש-Blazor Server ו-Blazor WebAssembly זה שני דברים שונים.
Blazor Server זה צד שרת מבוסס asp.net עם דפים בסינטקס שנקרא Razor, הקוד ב-#C רץ בשרת, והתקשורת בין הדפדפן לשרת נעשית עם SignalR.
Blazor WebAssembly זה גם דפי Razor, רק שהקוד #C רץ ממש בצד הלקוח עם זמן ריצה של NET. שיורד לדפדפן ונקרא בשם WebAssembly.ההבדל בתכלס הוא איפה רץ הקוד #C של דפי ה-Razor, בשרת או בדפדפן.
-
מעקב אחרי העכבר בטרמינל@yossiz אפשר לכאורה לקבל מידע על הזזת העבר מהמערכת הפעלה עם hookים למיניהם.
אבל באמת החידוש הוא שאפשר לקבל את ציר ה-x וה-y ברמה של הקונסול, ולא ברמה של הפיקסלים במסך. (זה נראה לי מה שהפונקציהgetmouseעושה). -
תחליף קל משקל לאנטיוירוס@mekev כתב בתחליף קל משקל לאנטיוירוס:
שאלה:
האם ישנם וירוסים שמתפשטים בהדבקה דרך USB בצורה שונה מהשימוש ב: Autorun.infיש את מה ש@dovid כתב, שזה כמה וירוסים (שאגב, מאוד נפוצים בציבור שלנו) שמדביקים את המחשב דרך פתיחת הקיצור דרך, שבעצם מפעיל תוכנה שמסתתרת באונקי והיא זו שפותחת את התיקיה (בחלון חדש) ועל הדרך גם מעתיקה את עצמה למחשב. הם בדרך כלל וירוסים שלא מזיקים, רק מעצבנים וגם שולחים מידע מהמחשב לבעלי הוירוס, דוגמת streamerdata.
אבל יש עוד אפשרות פחות נפוצה, שהוירוס מסתתר בתוך תוכנה לגיטימית וברגע הפתיחה שלה מהאונקי היא מדביקה את כל הקבצים במחשב (exe) בוירוס, והם כבר ידביקו את האונקים הבאים בתור, וחוזר חלילה.
-
אלגוריתם המרת טבלה לעץ בצורה אופטימלית@Y-Excel-Access כתב באלגוריתם המרת טבלה לעץ בצורה אופטימלית:
אח"כ לא ברור מה עדיף לשים, את השדה 'תאריך' כי יש כמה בכ' טבת וכמה בל'? את השדה 'שם' כי יש הרבה יהודה וזבולון? את השדה 'פעולה' כי לרוב כולם רצים או נחים?
עדיף לבחור את הערך שחוזר על עצמו הכי הרבה פעמים בטור, אבל צריך להתייחס בספירה רק לשורות בטבלה שערך האב בעץ זהה לאותו ערך באותו טור בטבלה.
לדוגמה - בדוגמה שלך בסיס העץ מחולק לשתיים, בריא וחולה, אז שבאים לחשב את הילדים של בריא צריך למצוא באיזה טור יש ערך שחוזר על עצמו הכי הרבה פעמים, אבל צריך להתעלם משורות שמכילות את הערך חולה בטור מצב, כי זה לא רלוונטי לאב בריא.
אם יש שני טורים עם מספר כפילויות זהה (כמו בדוגמא שלך), אז לפו"ר לא משנה איזה מהם תבחר.
-
התקנת Windows 11 בלי חיבור לאינטרנט -
התקנת Windows 11 בלי חיבור לאינטרנטניסיתי אתמול להתקין windows 11 על מחשב בלי אינטרנט, ואני לא מצליח להמשיך את ההתקנה בלי חיבור, (מצ"ב תמונה)
משהו נתקל בזה? אפשר להגבר על הבעיה, או שחייב אינטרנט?(נ.ב. זה כנראה רק בגרסה האחרונה של windows 11 כי בקודמים היה לחצן עם הכיתוב "אין לי אינטרנט", אבל בגרסה הזאת משום מה הוא נעלם)
תודה רבה.

-
רוזולציה בהמרת pdf לתמונה@dovid כתב ברוזולציה בהמרת pdf לתמונה:
ז. ללחוץ על קובץ הPDF בימני של העבר תוך החזקת SHIFT ולבחור בהעתק נתיב
ח. שוב בשורת הפקודה ללחוץ על הימני בעכבר לשם הדבקת הנתיב.אפשר גם לגרור ישירות לקונסול.
-
פירוק ספרות משמאל לימיןאם לא אכפת לו באמצעות מחרוזת, אז זה הייתי עושה את זה ככה:
(עריכה: לי זה היה פשוט, אבל שכחתי לציין שהקרדיט מגיע ל @yossiz על הטריק להמרת char למספר)
public static IEnumerable<int> ScanNumberUsingString(int value) { string str = value.ToString(); for (int i = str.Length - 1; i >= 0; i--) { yield return str[i] - 48; } } -
פירוק ספרות משמאל לימין@yyy התשובה ש @אביי הביא היא מצוינת מימין לשמאל, ומה שאתה צריך זה משמאל לימין. אז נראה לי שבמקום לחפש אלגוריתם לפרק משמאל לימין (פחות עדיף בעיני, כי זה יותר מורכב ויותר קוד) אפשר פשוט לפרק מימין לשמאל ולהשתמש בפונקציית Reverse.
אני נגיד הייתי כותב את זה ככה:
public static IEnumerable<int> ScanNumber(int value) { for (int x = value; x > 0; x /= 10) { yield return x % 10; } } public static IEnumerable<int> ScanNumber(int value, bool reverse) { var source = ScanNumber(value); return reverse ? source.Reverse() : source; } -
שיתוף | תוכנת סודוקו@משתמש-מקצוען בסוף שיפרתי את זה והוספתי אפשרות של הדפסה, ועוד כמה דברים.
בהנאה: v2.1
-
שיתוף | תוכנת סודוקו@משתמש-מקצוען תודה, באמת אפשרות פשוטה שלא חשבתי עליה. אבל בינתיים אני לא מתכונן להוסיף את האופציה הזאת, כי כרגע אני לא מתעסק בפיתוח של זה, אבל אולי בהמשך 'לכשאפנה אבנה'...
(אולי קודם צריך מג'נרט חידות נורמאלי כדי שהאופציה תהיה ברת שימוש) -
שיתוף | תוכנת סודוקו@פלורידה זה באמת אתגר לא קל לג'נרט חידת סודוקו שתהיה נורמאלית, אני ישמח אם תיתן לי רעיון איך לייעל את זה.
(מה שאני עשיתי זה: א. ג'ינרוט לוח סודוקו בצורה אקראית, ב. הסרת מספרים מסוימים באופן רנדומאלי מכל ה'ריבועים' שיש בלוח. ומה שהרמה קובעת זה כמה משבצות להסיר מכל 'ריבוע' ברמה הקשה זה מוחק יותר משבצות וברמה הנמוכה פחות.)
-
זיהוי לחיצת קליק ימני / קליק שמאלי בעכבר@mekev כתב בזיהוי לחיצת קליק ימני / קליק שמאלי בעכבר:
לא הצלחתי באמצעותה להגיע לקוד
אל תצפה לראות את הקוד דרך ה-die כי הקוד לא כבר לא קיים, הוא קומפל לשפת מכונה.
מה ש@yossiz התכווין זה שבאמצעות הפונקציות המיובאות לתוכנה אפשר אולי לשער באיזה שפה פיתחו אותה, אבל לא כל אחד יכול לעשות את זה, זה זן מיוחד של אנשים... (לדוגמא @yossiz ..)@mekev כתב בזיהוי לחיצת קליק ימני / קליק שמאלי בעכבר:
אבל לפחות עזר לי להבין מדוע תוכנה אחרת לא עבדה לי בכלים האחרים
אם תרצה אפשר להסיר ספציפית את ההגנה הזאת (ועוד..) עם כלי נוסף de4dot
-
שיתוף | תוכנת סודוקו -
pythonהרעיון בגדול זה שאם מפעילים ישירות את הסקריפט זה מריץ את מה שבתוך התנאי, אבל אם עושים לו import מסקריפט אחר אז הוא לא מריץ את זה.
למה זה שימושי?
נניח שיש סקריפט שמכיל כמה פונקציות ומבצע פעולה מסויימת כשמריצים אותו, עכשיו אם משהו ירצה להשתמש רק בפונקציות של הסקריפט מבלי לבצע את הפעולה שהסקריפט עושה, אז כשהוא יעשה import כל הסקריפט עצמו ירוץ, דבר שהוא לא רוצה.לכן בדרך כלל מכניסים את הפוקציה הראשית לתוך התנאי הזה, כך שהיא תתבצע רק אם הפעילו את הסקריפט עצמו ולא אם עשו לו import מסקריפט אחר.
-
התחברות מJS ל API של PYTHONאולי ככה זה יעבוד:
(jsonifyבמקוםdumps)@app.route('/persons', methods=['GET']) def get(): list_p = [] p = person.find() list(map(list_p.append, p)) json_p = jsonify(list_p) return json_p -
שימוש במשתנה שהוגדר בקובץ אחר- C# -- מקווה שהכותרת מספיק ברורה..;)שפת #C היא שפת תכנות מונחת עצמים (OOP) טהורה, ולא משנה באיזה קובץ מגדירים את המשתנה, תמיד הוא חייב להיות בתוך מחלקה (
class).
אם המשתנה מוגדר כ-staticאז אפשר לגשת אליו (כמובן אם הוא לאprivate) בלי ליצור מופע חדש של המחלקה והוא יהיה קבוע לאורך כל התוכנית, אבל אם הוא לאstaticאז הערך שלו משתנה בין כל מופע ומופע של ה-class והוא יהיה זמין רק דרך instance של class ולא דרך ה-class עצמו.usingנועד לקצר כתיבה בלבד, ולא קשור כלל לפעולות ייבוא מקבצים אחרים. -
חיבור בין SSMS ל C#@ממ דבר ראשון, השאלה לא מספיק ברורה, אז אני אחדד את השאלה.
השאלה היא: איך מתחברים למסד נתונים של sqlserver מתוך תוכנית ב-#C.
צריך להבין שיש שרת וקליינט. השרת הוא שרת ואין אפשרות לראות בו את הנתונים, בשביל לראות את הנתונים השרת מספק דרך להתחבר אליו, לבקש ולקבל או להכניס נתונים כלשהם.
SSMS הוא לא שרת, הוא קליינט שמתחבר לשרת ה-SQL המקומי או המרוחק, ומתשאל אותו על הנתונים שנמצאים בתוכו ומציג את זה בצורה גרפית למשתמש.
עכשיו השאלה היא איך מתחברים לשרת SQL מתוך תוכנית ב-#C?
אז יש חבילות הרחבה שמוסיפים לפרויקט דרך ה-NugetPackageManager, אם העבודה היא באמצעות EF אז צריך להתקין את החבילה הזאת Microsoft.EntityFrameworkCore.SqlServer ואז להתחיל לבנות את מודל הנתונים של האפליקציה.
בתקוה שזה יעזור:
https://www.entityframeworktutorial.net/efcore/create-model-for-existing-database-in-ef-core.aspx

