چند وقت پیش برای انتخاب تیم برتر دانشگاه شاهد برای راهیابی به مسابقات منطقهای تهران، مسابقهای داخلی برگزار شد که طراح تعدادی از سوالهای آن بودم.
از لینک زیر میتوانید سوالها، راهحلها و ورودی/خروجیهای مسائل را دانلود کنید.
چند وقت پیش برای انتخاب تیم برتر دانشگاه شاهد برای راهیابی به مسابقات منطقهای تهران، مسابقهای داخلی برگزار شد که طراح تعدادی از سوالهای آن بودم.
از لینک زیر میتوانید سوالها، راهحلها و ورودی/خروجیهای مسائل را دانلود کنید.
فرض کنید اسم آرایه رشتهها temp و اسم لیست names باشد. اکنون داریم
names.AddRange(temp.Select(s => "_" + s + "_"));
تابع AddRange یک مجموعه را به عنوان ورودی میگیره و تمامی اون رو به لیست اضافه میکنه. اما با توجه به سوال، لازمه که تغییر داده شدهی رشتهها رو اضافه کنیم. که این هم از طریق دستور Select در LINQ به راحتی امکانپذیره.
در بخش کوتاه نویسی، ابتدا یک مسئله مطرح میشه و از شما خواسته میشه که کوتاهترین روشهاتونو براش بگید. بعد از گذشت چند روز از طرح مسئله، من هم جواب خودم رو مینویسم.
سوال:
فرض کنید آرایهای از رشتهها داریم و میخواهیم تک تک اعضای آن را به یک لیست از رشتهها اضافه کنیم و همزمان در ابتدا و انتهای هر رشته، کاراکتر '_' را قرار دهیم. کوتاه ترین روش برای این کار چیست؟
حتما تابهحال برنامههای زیادی رو دیدید که وقتی عبارتی رو برای جستجو وارد میکنید، در همون لحظه همزمان با تایپ شما، نتایج ممکن رو نشون میده. تو این پست قصد دارم با استفاده از امکانات Binding و Linq در #C و WPF این کار رو آموزش بدم.
گام اول: ایجاد TextBox و ListBox
در ابتدا لازمه که برای گرفتن ورودی از کاربر و نمایش نتایج جستجو، از یک عدد TextBox به همراه ListBox استفاده کنیم. نام TextBox را textbox قرار دهید.
گام دوم: تعیین منبع داده
با توجه به اینکه میخواهیم از این منبع برای ItemsSource یک ListBox استفاده کنیم، لازم است که جنس آن یک IEnumerable باشد. من در این مثال ابتدا یک کلاس Static تعریف کردهام و سپس در آن یک لیست Static از چند رشته Url ساختهام
گام سوم: نوشتن مبدل رشته به لیست
برای Binding مرحله بعد لازم است که یک مبدل یکطرفه با قابلیت تبدیل رشته (عبارت مورد جستجو) به نتیجهی جستجو نوشته شود
گام چهارم: Bind کردن ItemSource
در نهایت کافیست ItemSource مربوط به ListBox را به مقدار Text کنترل TextBox با استفاده از مبدل مرحله قبل Bind کنیم.
در نهایت تصمیم گرفتم که آموزش رو به صورت ویدئویی تهیه کنم. آموزش در چند بخش خواهد بود (هنوز تصمیم نگرفتم دقیقا چند بخشش کنم). با توجه به اینکه اولین تجربهی آموزش ویدئوییمه و اینکه امکانات حرفهای موجود نیست (:دی) ممکنه کیفیت کار خیلی بالا نباشه. در هر صورت سعی من این خواهد بود که آموزشها با بهترین کیفیت آماده بشن. شما هم با نظراتتون به ادامهی این آموزش کمک کنید. با تشکر.
در این قسمت در مورد اجزا و الگوریتم بازی و اینکه چه ابزارهایی از #C و WPF استفاده خواهند شد، توضیح میدهم.
مدت زمان: 11 دقیقه
حجم : 15.15 مگابایت
کیفیت: 720p
فرمت: mp4
این موضوعی که میگم خیلی وقته باهاش مواجه شدم اما خب نتونستم بفهمم چرا. گفتم اینجا هم بگم شاید بقیه بدونن. البته یه حدسایی میزنم واسه دلیلش اما خب مطمئن نیستم.
یه فایل تک مثل mp3 یا انواع عکس و یا ... رو با مرورگر کروم یا فایرفاکس یا IE دانلود کنید بعدش اونو با آنتی ویروس اسکن کنید. بهتون چندتا فایل اسکن شده گزارش میده؟
من با Eset که اسکن میکنم میگه 2تا فایل اسکن شد!
حالا اتفاق جالبتر اینکه فایلتونو یه بار فشرده کنید و دوباره بازش کنید. اکنون اسکن کنید.
من وقتی این کارو انجام میدم میگه 1 فایل اسکن شد. ینی اون فایل دومی با این کار حذف میشه.
حالا شما هام این کارو انجام بدین با آنتی ویروسای دیگه و اینجا بگین که نتیجه مشابه بوده یا نه. اینجوری حداقل میشه فهمید مشکل آنتی ویروسه یا اینکه نه واقعا یه موجود دیگه ای هم هست با فایل!
این مشکل وقتی که با download manager دانلود کنید وجود نخواهد داشت.
به زودی یک آموزش خلاصه
برای ساخت بازی Snake با WPF
آغاز خواهد شد
(شاید ویدئویی آموزش بدم!)