فيجوال بيزيك 17 وسي شارب 10
طريقك المختصر للانتقال من إحدى اللغتين إلى
الأخرى
لتفاصل أكثر عن مجموعة كتب سي شارب وفيجوال بيزيك دوت نت اضغط هنا
سعر
الكتاب:
150 جنيها مصريا أو 10 دولار من خارج مصر.
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
مقدمة الكتاب
لمن هذا الكتاب:
هذا
الكتاب موجّه إلى أربعة أنواع مختلفة من المبرمجين:
1. مبرمج سي شارب الذي يريد تعلم فيجوال بيسك، لأن كثيرا من الشركات لديها إرث ضخم من المشاريع المكتوبة بفيجوال بيزيك أو تستخدم الكثير من أكواد VB عبر مكتبات dll في مشاريع سي شارب الجديدة، ومن العبث إنفاق ملايين الدولارات لتحويل كل هذا الكود إلى C# دون أي اختلاف في أداء البرامج أو مكتبات الكود، لهذا تحتاج هذه الشركات دائما إلى مبرمجين يجيدون فيجوال بيزيك لصيانة المشاريع ومكتبات الكود القديمة وتطويرها إذا دعت الحاجة.
2. مبرمج فيجوال بيزيك الذي يريد الانتقال إلى سي شارب لأنها تقدم دعما أكبر لتطبيقات الويب والمحمول، والطلب عليها أعلى في سوق العمل خارج نطاق تطبيقات سطح المكتب.
3. مبرمج فيجوال بيزيك الذي يتمنى أن يواصل العمل بلغته المفضلة، لكنه يشعر أن C# صارت أقوى وتفعل أشياء لا تستطيع VB فعلها.. المفاجأة أن هذا الكتاب سيثبت له عمليا أن VB قادرة على فعل كل ما تفعله سي شارب (باستثناء ref return و stackalloc)!.. لكني رغم هذا أنصحه بتعلم C#، فقد صارت معظم الكتب والشروح والفيديوهات والأمثلة والمشاريع مفتوحة المصدر مكتوبة بها، لهذا صارت C# بالنسبة لمبرمجي VB أشبه باللغة الإنجليزية بالنسبة للشعوب غير الناطقة بها، لا غنى عن تعلمها للتواصل مع العالم!.. لهذا يجب على كل مبرمجي VB تعلم C# حتى لو لم يكتبوا بها المشاريع، لأن المصادر المتاحة بها ستسهل عليهم عملهم في فيجوال بيزيك.
4. مبرمج يفهم البرمجة بأي لغة أخرى مثل C++ و Java وVB6 و Python وغيرها.. هذا الكتاب سيجعله يتعلم قواعد اللغتين معا بسرعة واختصار!
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
لماذا
لا أستخدم برامج الترجمة بين اللغتين وكفى؟
توجد الكثير من المواقع والبرامج التي تترجم الكود من سي شارب إلى فيجوال بيزيك أو العكس، منها على سبيل المثال https://converter.telerik.com.
ولعلك
تسأل نفسك: لماذا أحتاج لهذا الكتاب وهذه المواقع موجودة؟
أولا: لا يوجد برنامج يستطيع تحويل الكود
كاملا بين اللغتين بدون أخطاء في الصياغة Syntax لأن بعض اختلافات الصياغة تسبب مشاكل في الكود الناتج وتجعله غير
صالح في اللغة الأخرى، مثل حدوث تضارب في أسماء المتغيرات والخصائص في فيجوال
بيزيك بسبب تجاهل حالة الأحرف Case-Insensitive.
ثانيا: أخطاء الصياغة ليست المشكلة الحقيقية،
فالأسوأ هو أن بعض الأكواد تترجم بشكل يبدو صحيحا، لكن عند تشغيلها تعطيك نتائج
مختلفة، لأن طريقة فهم الكود تختلف بين اللغتين!.. أبسط مثال على هذا، اختلاف
طريقة معالجة اللغتين لتجاوز سعة المتغير الرقمي Overflow، فلغة C# لا تعطي خطأ
وإنما تهمل الخانات الثنائية Bits الزائدة وهذا
يؤدي إلى تدوير قيمة العدد، بينما تطلق VB خطأ، لهذا لا تتعجب لو وجدت نفس الكود يعمل في C# بينما يطلق خطأ في VB!.. هذا الكتاب
سيلفت انتباهك إلى كثير من مواطن اختلاف الدلالة Semantic بين اللغتين.
ثالثا: تحتوي كل لغة على بعض المفاهيم غير
الموجودة في اللغة الأخرى مثل XML Literals في فيجوال بيزيك
و Pattern Matching في سي شارب.. وتكتفي معظم برامج التحويل
بإعطائك رسالة خطأ على الأجزاء التي لا تستطيع ترجمتها، وتتركك تتصرف معها
بطريقتك.. في هذا الكتاب سنسلط الضوء على هذه الاختلافات، وسأريك طرقا لترجمتها
بين اللغتين.
لا
بأس إذن من استخدام برامج التحويل الآلية لاختصار الوقت والجهد، لكن عليك أن تكون
مستعدا للتدخل يدويا لتصحيح بعض الأخطاء التي ستظهر في الكود الناتج، وهذا يتطلب
فهم اللغتين فهما عميقا، كما أني أنصحك بشدة أن تكتب اختبارات وحدات Unit Tests شاملة للكود الناتج من التحويل لاستكشاف أي أخطاء كامنة حدثت بسبب
التحويل، ولو كان المشروع الأصلي يحتوي على اختبارات، فاستخدمها لاختبار المشروع
الناتج عن التحويل (لا تحتاج لترجمة مشروع الاختبار، حيث يمكنك أن تضيف مشاريع
فيجوال بيزيك ومشاريع سي شارب معا في نفس مجموعة المشاريع Solution).
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
هل
هذا مجرد كتاب يقارن بين اللغتين؟
هذا
كتاب عزيز عليّ لأنه أول كتاب طبعته في حياتي وصدر في معرض الكتاب في يناير عام
2008، وكانت طبعته الأولى صغيرة وتركز على فروق الصياغة بين اللغتين.
ثم
طورت الكتاب في الطبعة الثانية عام 2010، ثم الثالثة عام 2017، وأضفت الكثير من
الملاحظات من خبراتي العملية، وما استجد من فروق بين اللغتين عبر الإصدارات
الجديدة.
وتأتي
هذه الطبعة في مارس 2022 بعد 14 عاما من الطبعة الأولى، في ضِعف الحجم، لتتناول
أدق الفروق بين اللغتين، وفد استفدت في هذا من احتكاكي ببعض مبرمجي ميكروسوفت من
فريق VB وC# وبعض الأعضاء النشطين في مجتمعي اللغتين على GitHub، وهناك بعض الفروق الدقيقة جدا بين
اللغتين أضفتها في هذه النسخة، لم أكن لأنتبه لها لولا أن لفت النظر إليها أنتوني
جرين في منشور على مدونته الشخصية، وهو أحد مديري فريق VB السابقين في ميكروسوفت.
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
من أجل فيجوال بيزيك:
لا
أذيع سرا حينما أقول إن هذه النسخة من الكتاب موجهة في الأساس لدعم مبرمج فيجوال
بيزيك وتعزيز ثقته بلغته المفضلة، فقد أعلنتُ منذ ثلاث سنوات أنني سأعمل كل ما في
وسعي لإنقاذ هذه اللغة الرائعة الحبيبة إلى قلبي، ومن أجل هذا أنشأت عدة مشاريع
على حسابي في GitHub
لدعم VB، ومنها لغة
البرمجة التي أسميتها Small Visual Basic التي طورتها لجعل لغة MS Small Basic أسهل وأكثر جاذبية للأطفال والمبتدئين (وشرحتها في سلسلة دروس مرئية)، لكن الأهم من هذا أن لغة
سمول فيجوال بيزيك مكتوبة بـ VB.NET، لتدريب مبرمجي فيجوال بيزيك على التعامل مع مفاهيم مترجمات الكود
Compilers بُغية أن نصل
يوما إلى محاولة تطوير لغة VB.NET بأنفسنا، حيث إن كودها مفتوح المصدر وهو جزء من مشروع Roslyn المنشور على GitHub!
غير
هذا، هناك عدة مشروعات هامة أنشأتها لجعل VB تقفز الحواجز التي وضعتها ميكروسوفت بينها وبين C#، وعلى رأسها:
* مشروع Vazor الذي يتيح لك إنشاء مشاريع ASP.NET Core بفيجوال بيزيك.
* ومشروع RecGen لتوليد مسجلات
البيانات Records في فيجوال بيزيك!
وأنا
أضع بين يديك في هذا الكتاب جهد ثلاث سنوات غُصْتُ فيها في التفاصيل الدقيقة
لفيجوال بيزيك وسي شارب ليس كمطور تطبيقات فحسب بل أيضا كمطور لغات برمجة يسعى
لسبر أغوار كل من C# و VB لتضييق الفجوة بينهما!
لهذا
جهز نفسك للمفاجآت المذهلة التي ستستقبلك في هذا الكتاب، فستكتشف وأنت تقرأه أشياء
كثيرة تستطيع فعلها بفيجوال بيزيك كنت تظن أنها مستحيلة، مثل:
* إنشاء مشاريع ASP .NET Core وتصميم صفحات Razor بفيجوال بيزيك.
* إنشاء مشاريع Blazor بفيجوال بيزيك.
* إنشاء سجلات
مرجعية ref
Structures في
فيجوال بيزيك، وكسر الحجر المفروض على فيجوال بيزيك الذي يمنعها من استخدام
السجلات المرجعية الهامة الموجودة في منصة دوت نت مثل Span(Of
T).
* استخدام معالجات
النص التعويضيInterpolated String Handlers .
* إنشاء فئة
بيانات Record
Class وسجل
بيانات Record
Structure وسجل
للقراءة فقط
ReadOnly Structure في
فيجوال بيزيك، وبتحكم أكبر مما في سي شارب!
* تعريف مكرر غير متزامن Async Iterator واستخدام Async ForEach للمرور عبر كل عناصره.
* استخدام الفهرس Index ونطاق الخانات Range.
باختصار:
هذا الكتاب سيكشف لك القوة الكامنة في VB، التي تجعلها لغة عصرية متجددة من غير المحتمل أن تختفي من على
الساحة في أي وقت قريب.
ولا
يعني هذا أني أخرجت مبرمج سي شارب من حساباتي، ففي كل موضع في الكتاب اجتهدت
لتقديم نفس الأمثلة باللغتين، حتى حينما يتعلق الأمر بسمات تنفرد بها كل لغة عن
الأخرى.. لهذا سيتعلم مبرمج سي شارب أيضا:
* كيف يستخدم مكتبة دوال فيجوال بيزيك.
* وكيف يستدعي نفس الأكواد التي يستخدمها مبرمج VB عبر الكائن My.
* وكيف يستخدم إطار عمل التطبيق Application Framework لجعل تطبيقات نماذج الويندوز وحيدة النسخة Single Instance وعرض شاشة ترحيب Splash Screen في بداية تشغيلها.
* وكيف يكتب كودا مناظرا لتعبيرات XML Literals الخاصة بفيجوال بيزيك!
هذا
كتاب يهدم الحواجز بين اللغتين حرفيا، وهدفه الأسمى أن يجعلك تمسك بكلتا اللغتين
في قبضتيك، لتشكل بهما معا مشاريعك على حسب احتياجك، بأسهل طريقة وأسرع وقت وأقصى
كفاءة، ولا يهم حينئذ أي اللغتين تعتبرها يدك اليمنى.. المهم أن تجيد استخدام كلتا
يديك بنفس البراعة!
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
متطلبات أساسية قبل قراءة الكتاب:
هذا
الكتاب يفترض أنّك تجيد إحدى اللغتين وتجهل الأخرى.. لو كان هذا هو الحال فسيكون
الكتاب وافيا كافيا بالنسبة لك بإذن الله، لكن لو كنت ما زلت تخطو أولى خطواتك في
البرمجة بفيجوال ستديو دوت نت، فليس هذا هو الكتاب الذي تتوقع منه أن يأخذ بيدك.. في هذه
الحالة ننصحك بقراءة أحد كتابينا:
1- المدخل العملي السريع إلى فيجوال بيزيك دوت نت.
2- المدخل العملي السريع إلى سي شارب دوت نت.
لتعلم إحدى اللغتين أولا، ثم استخدام هذا الكتاب
للانتقال إلى اللغة الأخرى.
أو يمكنك أن تغرق في التفاصيل الكاملة لأي من اللغتين،
مع مجموعة كتب "من الصفر إلى الاحتراف" التي تتناول أساسيات اللغة
والتفكير البرمجي، ومنصة دوت نت، ونماذج الويندوز، وقواعد البيانات، وأساسيات WPF، في كل من
اللغتين.
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
فهرس الكتاب
-1-
بعض فروق الصياغة Syntax
Differences
كود
المستوى الأعلى Top Level Code |
13 |
التعليقات Comments |
15 |
نهاية الأمر |
17 |
حالة الأحرف Case Sensitivity |
21 |
إيقاف تنفيذ البرنامج عند سطر معين |
24 |
-2-
تعريف المتغيرات Variable Declaration
قواعد تعريف المتغيرات |
25 |
وضع القيم الابتدائية للمتغيرات Variable Initialization |
28 |
استنتاج
النوع Type Inference |
30 |
التجاهلات
Discards |
32 |
أنواع المتغيرات |
34 |
صياغة التعبيرات الحرفية Literals Syntax |
35 |
تمثيل التاريخ في اللغتين |
37 |
علامة
التنصيص الذكية Smart Quote |
39 |
الاختصارات المحدّدة للأنواع Data Type Identifiers |
40 |
تعريف كائن جديد New Object |
41 |
العدم null / Nothing |
42 |
الأنواع المنعدمة Nullable Types |
42 |
مقارنة
الأنواع المنعدمة |
44 |
زيادة وإنقاص قيمة متغير |
50 |
تضييق
الكسور |
54 |
العمليات الحسابية |
56 |
تشبيك
النصوص |
57 |
تجاوز
سعة المتغيرات الرقمية |
58 |
-3-
المصفوفات Arrays
تعريف المصفوفة |
60 |
تغيير عدد خانات المصفوفة |
63 |
المصفوفات متعددة الأبعاد Multidimensional Arrays |
65 |
وضع القيم الابتدائية للمجموعات Collections |
67 |
-4-
الفهرس Index ونطاق الخانات Range
صيغة
الفهرس وصيغة النطاق |
69 |
استخدام
الفهرس مع المصفوفة |
71 |
استخدام
النطاق مع المصفوفة |
72 |
محاكاة
الفهرس والنطاق في فيجوال بيزيك |
75 |
استخدام
الفهرس والنطاق مع النص |
77 |
استخدام
الفهرس Index في تعريف مفهرس
Indexer |
78 |
استخدام
النطاق Range في تعريف مفهرس
Indexer |
79 |
-5-
الثوابت Constants ومسمَّيات الأرقام Enumerations
تعريف الثوابت |
80 |
ثوابت أحرف التحكم Control Characters |
81 |
مسمَّيات الأرقام (المرقمات) Enumerations |
86 |
-6-
جمل الشرط
جملة الشرط If Statement |
89 |
مقارنة النصوص |
91 |
التعبير الشرطي Conditional Expression |
93 |
جملة التحويل / اختيار الحالة switch \ Select Statement |
95 |
تعبير
التحويل switch expression |
101 |
أمر الانتقال الفوري goto |
104 |
-7-
حلقات التكرار Loops
حلقة التكرار "من إلى" For Loop |
107 |
حلقة التكرار "لكل عنصر" For Each |
111 |
حلقة التكرار "بينما" While |
112 |
حلقة التكرار Do |
112 |
أوامر الخروج وإنهاء التنفيذ |
115 |
-8-
الدوال Functions
تعريف الدوال Functions |
118 |
المتغير الموضعي الثابت Static Local Variable |
120 |
معاملات الدوال Function Parameters |
122 |
إرسال القيم Arguments إلى معاملات الدوال |
124 |
المعاملات الاختيارية Optional Parameters |
127 |
قوائم المعاملات Parameter Lists |
129 |
الدوال
التي تعيد قيما مرجعية ref Returns |
129 |
الدوال عامة النوع Generic Type Functions |
134 |
الدوال الفورية Lambda Expressions |
137 |
الدوال
الموضعية Local Functions |
141 |
دوال
API |
144 |
-9-
المندوب Delegate والأحداث Events
المندوب Delegate |
146 |
الأحداث Events |
150 |
معالج الحدث Event Handler |
152 |
الأحداث المخصصة Custom Events |
156 |
-10-
الخصائص Properties والمفهرسات Indexers
الخصائص Properties |
159 |
الخاصية الافتراضية Default
Property أو المفهرس Indexer |
165 |
167 |
-11-
الفئات Classes
والسجلات Structures
الفئات Classes |
169 |
منشئ الفئة Constructor |
169 |
السجلات Structures |
170 |
السجلات والفئات عامة النوع Generic Type |
173 |
وضع القيود Constraints على الأنواع العامة |
174 |
الفئات والسجلات الجزئية Partial |
176 |
وضع القيم الابتدائية للكائنات |
177 |
وضع القيم الابتدائية لحقول الفئة |
179 |
قوالب الكود Modules |
180 |
الوسائل الإضافية Extension Methods |
182 |
معدِّلات الوصول Access Modifiers |
184 |
النوع المجهول Anonymous Type |
185 |
صف القيم ValueTuple |
186 |
مفكّك
الفئة Class Destructor |
189 |
نطاق الأسماء Namespace |
190 |
نطاق
الاسم الرئيسي ونطاق الاسم الافتراضي |
195 |
الربط
المتأخر Late Binding |
198 |
معالجة
الأخطاء Handling Exceptions |
201 |
-12-
مقارنة الأنواع والتحويل بينها
التحويل بين الأنواع |
204 |
دوال
التحويل في فيجوال بيزيك |
207 |
تحويل النصوص إلى أعداد |
208 |
التحويل بين الحروف والنصوص |
209 |
تحويل ترميز ASCII إلى حرف والعكس |
211 |
تحويل الأنواع المفرّغة من الكائنات Unboxed Types |
213 |
معرفة نوع الكائن |
214 |
فحص تساوي كائنين |
215 |
فحص إن كان الكائن منعدما Null Object |
216 |
استبدال المعامل Operator Overriding |
218 |
-13-
البرمجة الموجهة بالكائنات
Object-Oriented
Programming (OOP)
الوراثة Inheritance |
221 |
تعدد تعريفات الوسائل Method Overloading |
222 |
حدث إنشاء الفئة Class Constructor |
224 |
إخفاء وسائل الفئة الأم |
225 |
استبدال الوسائل Overriding Methods |
228 |
التحكم في استدعاء الدوال المستبدلة Overridden Functions |
230 |
التحكم في الفئات الموروثة Inherited Classes |
231 |
استخدام السمات Attributes |
233 |
السمة
عامة النوع Generic Attribute |
237 |
-14-
الواجهة Interface
تعريف الواجهة |
238 |
تمثيل الواجهات Implementing Interfaces |
239 |
التمثيل الافتراضي للواجهة Default Interface Implementation |
244 |
تداخل تأثير التمثيل Implementation
والوراثة Inheritance |
246 |
المكررات Iterators |
151 |
مقطع
الاستخدام Using Statement |
253 |
-15-
مطابقة الأنماط Pattern Matching
مطابقة
أنماط الأنواع Pattern Matching |
255 |
مطابقة
أنماط الخصائص Property Pattern Matching |
263 |
أنماط صف القيم والمفكك Tuple and
Decostructor Patterns |
267 |
مطابقة
الأنماط المتداخلة |
272 |
-16-
الاستعلام المتكامل مع اللغة LinQ
الفقرة "من" From Clause |
275 |
فقرة التحديد Select Clause |
278 |
الفقرة Let |
280 |
فقرة التجاوزSkip Clause |
280 |
الفقرة "تجاوز بينما" Skip While Clause |
281 |
الفقرة "خذ" Take Clause |
281 |
الفقرة
"خذ بينما" Take
While Clause |
282 |
فقرة الترتيب |
283 |
الفقرة "مستقل" Distinct Clause |
284 |
ضم البيانات Joining Data |
284 |
فقرة التجميع Group By Clause |
287 |
فقرة التجميعات Aggregate Clause |
290 |
-17-
ميزات خاصة بفيجـوال بيزيك دوت نت
مكتبة دوال فيجوال بيزيك |
293 |
الكائن My |
296 |
إطار عمل التطبيق Application
Framework |
298 |
-18-
تعبيرات XML Literals
كتابة كود XML في فيجوال
بيزيك وما يناظره في سي شارب |
302 |
إنشاء مشاريع ASP .NET Core
في فيجوال بيزيك |
309 |
المتجر الالكتروني مشروع ويب كامل بفيجوال بيزيك |
321 |
استخدام تعبيرات XML مع Blazor |
322 |
إنشاء تطبيقات Xamarin في فيجوال بيزيك |
326 |
تطبيقات لا تنتهي لتعبيرات XML |
327 |
-19-
ميزات خاصة بسي شارب
الأنواع
المرجعية المنعدمة Nullable Reference Types |
328 |
السجلات
المرجعية ref structs |
331 |
حجز
مساحة في الرصة stackalloc |
339 |
-20-
المهام غير المتزامنة Async Tasks
عدم التزامن والانتظار Async Await |
340 |
الدالة الرئيسية غير المتزامنة Async Main |
341 |
القابلية للإفناء المتزامن Asynchronous Disposable |
342 |
الفيض غير المتزامن Async Stream |
343 |
-21-
مسجلات البيانات Records
مولد
مسجلات البيانات RecGen في فيجوال
بيزيك |
353 |
فئة
البيانات Record Class |
357 |
الصيغة
الموضعية Positional Syntax |
358 |
إضافة
سمات Attributes للصيغة
الموضعية |
364 |
كتابة
تعليقات XML للصيغة
الموضعية |
366 |
صيغة
التعريف المختلطة |
366 |
وراثة
فئة البيانات Record Class Inheritance |
371 |
تمثيل
الواجهات في الصيغة الموضعية |
375 |
فئة
البيانات عامة النوع Generic Record Class |
382 |
سجلات
للقراءة فقط ReadOnly Structures |
383 |
سجل
البيانات Record Structure |
386 |
دوال
للقراءة فقط Read Only Functions |
389 |
-22-
معالجات النص التعويضي
Interpolated String
Handlers
النصوص
التعويضية Interpolated Strings |
394 |
التعويض عن الثوابت النصية |
395 |
معالج
النص التعويضي Interpolated String Handler |
396 |
إنشاء معالج خاص للنص التعويضي في فيجوال بيزيك |
401 |
الفهرس |
408 |
عن
الكاتب |
422 |
الحصول
على الكتاب: متاح كنسخة الكترونية فقط
كنت اريد شراء بعض الكتب، لكن ياريت يكون هناك حل وسط...
ردحذفالسلام عليكم يا باشمهندس انا اشتريت منك مجموعة لتعلم فيجوال دوت نت و سى شارب تقريبا كانت ايام حظر الكورونا - و إلى الان لم انتهى من الكتاب الاول و ذلك لظروف الحياة و العمل - عايز اسأل حضرتك هل لغة الفيجوال دوت نت انتهى عصرها و استبدلت ب سى شارب - و لا هيكون لها مستقبل و تحديثات
ردحذفوعليكم السلام
حذفميكروسوفت أوقفت تطوير لغة فيجوال بيزيك على مستوى صياغة الكود Syntax لكن اللغة مدعومة في أدوات فيجوال ستديو وتستخدم الجديد في منصة دوت نت.
المشكلة أن اللغة غير مدعومة في التقنيات الحديثة في مجال الويب والموبايل، وإن كنت أثبت أنا وآخرون أن هناك طرق لاستخدام هذه التقنيات في فيجوال بيزيك.. فمثلا في مجال الويب:
https://github.com/VBAndCs/Vazor
كما أن اللغة قادرة على إنشاء أي تقنيات حديثة.. أنا أستخدمها حاليا في تطوير لغة البرمجية Small Visual Basic وأطور محرر الكود حاليا ليمنح إمكانيات شبيهة بفيجوال ستديو.. كل هذا بلغة فيجوال بيزيك:
https://github.com/VBAndCs/sVB-Small-Visual-Basic
فالحقيقة أن فيجوال بيزيك (وحتى سي شارب) لا تحتاج إلى اي كود جديد، فكل الصيغ الجديدة التي تضيفها ميكروسوفت إلى سي شارب تترجم إلى الصيغ القديمة المألوفة في سي شارب.. هي مجرد تسهيلات وأحيانا تجعل الكود أعقد في فهمه، وكثير منها أتجنب استخدامه.
فالخلاصة: تعلم من الكتب التي معك، فالفكر البرمجي واحد، ومكتبة فئات دوت نت واحدة، ومن السهل أن تنتقل إلى سي شارب بعد هذا بسرعة وبساطة فالفرق سيكون في تعلم طريقة صياغة الكود فقط.
السلام عليكم ورحمة الله وبركاته
ردحذفاخي الكريم
هل يوجد كتبك متوفر في السعودية
او طريقة الشراء
ممكن تتكرم بالافادة
Hussain_hsa@hotmail.com