#1
|
||||
|
||||
الدرس الرابع والأربعون : الـ Pointers دورة .net 2008
بسم الله الرحمن الرحيم . السلام عليكم ورحمة الله وبركاته . إذا كنت مبرمج C++ ، فأنت بالتأكيد تدرك معنى pointer ، أما لو لم تكن كذلك ، أما لو لم تكن كذلك فعليك ان تعرف انه بالاضافة إلى ال value type وال refernce type ، هناك ايضاً ال pointer type والتي تختص بالاشارة إلى اماكن معينة في الذاكرة . بداية أول ما ستعرفه انك لن تتعامل معها في الكود الطبيعي ، بل ستضطر لاستخدام unsafe code لعمل ذلك حيث أن السي شارب لن تسمح لك افتراضياً بالتعامل مع ال pointers ، لذا قم اولاً بالسماح لنفسك باستخدامها بالشكل التالي : والآن من خلال الكود الخاص بك يمكنك كتابة كود يتعامل مع ال pointers بالشكل التالي مثلاً : كود PHP:
* تستخدم لتعريف pointer . & لمعرفة عنوان المتغير في الذاكرة . -> تستخدم للوصول إلى حقل ما داخل الفئة التي يشير إليها ال pointer . ++ ، -- ، + ، - ، == ، != وغيره من المعاملات قابلة للعمل مع ال pointers . مع استمرارنا في هذا الدرس سوف تكتشف ان التعامل مع ال unsafe code لن يكون بنفس سهولة العمل في safe code من خلال سي شارب العادية ، ولكن لماذا استخدم ال unsafe code ؟ - أغراض تعليمية . - استخدامك لبعض ال dll's او ال COM Components التي تعمل اصلاً من خلال pointers . - محاولة تحسين اداء وسرعة مهمة معينة من خلال الوصول المباشر للذاكرة ، في مشروع التخرج الخاص بنا وأثناء قراءة pixels صورة ما لعمل بعض عمليات Image Processing كان بامكاننا استخدام دوال GetPixel و SetPixel الخاص بالصور للقراءة والكتابة ، ولكنها كانت لتكون عملية طويلة جداً للمرور على ال pixels بهذه الطريقة ، الحل البديل كان باستخدام unsafe code والتعامل مع ال pointers مباشرة للمرور على ال pixels الخاصة بالصورة ، جرب مثلاً كود لطرح صورتين بالطريقة Getpixel و setpixel ، وبعد هذه الدرس جربها مرة أخرى باستخدامpointers ، وأخبرني بالفارق ... يمكنك الآن تعريف pointer بالشكل التالي : كود PHP:
كود PHP:
كود PHP:
كود PHP:
كود PHP:
http://www.codeproject.com/KB/GDI-pl...Traverser.aspx والله الموفق ... والسلام عليكم ورحمة الله وبركاته .
|
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الدرس الثالث والأربعون : Operator Overloading دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-26-2010 04:22 PM |
الدرس الثاني والأربعون : ال Gc دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-26-2010 04:17 PM |
الدرس الواحد والأربعون : Partial Methods دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-26-2010 04:14 PM |
الدرس الرابع والثلاثون : ال Anonymous Methods - فقط في C# دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-25-2010 02:43 PM |
الدرس الرابع عشر : this دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-19-2010 07:58 PM |