Wednesday, April 24, 2019

C# ஆப்சனல் பராமீட்டர்.



C++ போலவே சிஷார்ப்பிலும் ஆப்சனல் பராமீட்டர் மெதடுகளுக்கு பயன்படுத்தலாம். அதாவது மெத்தடை பைன் செய்யும் பொழுது டிஃபால்ட் மதிப்பை கொடுக்க வேண்டும். அந்த மெத்தட் அழைக்கப்படும் பொழுது  அந்த வேரியபிளுக்கு மதிப்பு  பாஸ் செய்யாவிட்டால் டிஃபைல்ட் மதிப்பை எடுத்துக் கொள்ளும்.
அந்த மெதட் அழைக்கப்படும் பொழுது அந்த வேரியபிளுக்கு மதிப்பு கொடுத்தோம் எனில் நாம் பாஸ் செய்யும் மதிப்பையோ எடுத்துக் கொள்ளும்.
கீழே உள்ள கிளாஸில் உள்ள CalculateBookRoyalties என்ற மெத்தடில் rate என்ற  வேரியபிளுக்கு 12 என்ற டிஃபால்ட் மதிப்பு கொடுக்கப்பட்டுள்ளது.
class Author
    {
        // Auto-Initialized properties 
        public string Name { get; set; }
        public string Book { get; set; }
        public double Price { get; set; }
        // Calculate author's book royalties 
        public double CalculateBookRoyalties(double price, int quantity, Int16 rate = 12)
        {
            return (quantity * price * rate) / 100;
        }
    }
மேலே உள்ள CalculateBookRoyalties என்ற மெத்தட் அழைக்கப்படும் பொழுது rate என்ற வேரியபிளுக்கு மதிப்பு கொடுக்காவிட்டால் 12 என்ற மதிப்பு எடுத்துக் கொள்ளப்படும்.
சான்று:
  class Program
    {
        static void Main(string[] args)
        {
            Author author = new Author { Name = "Muthukarthikeyan", Book = "c sharp", Price = 150.00 };
            // Call a method and do not pass optional argument 
            double royalty = author.CalculateBookRoyalties(150, 50);
            Console.WriteLine($"Author Royalties: $ {royalty}");
            Console.ReadKey();
        }
    }
மேலே  உள்ள நிரலில் rate என்ற வேரியபிளின் மதிப்பு பாஸ்செய்யப்பட வில்லை. எனவே அதன் மதிப்பாக 12 எடுத்துக் கொள்ளப்படும்.
வெளியீடு:
Author Royalties: $ 900.
முழு நிரல்:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Author
    {
        // Auto-Initialized properties 
        public string Name { get; set; }
        public string Book { get; set; }
        public double Price { get; set; }
        // Calculate author's book royalties 
        public double CalculateBookRoyalties(double price, int quantity, Int16 rate = 12)
        {
            return (quantity * price * rate) / 100;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Author author = new Author { Name = "Muthukarthikeyan", Book = "c sharp", Price = 150.00 };
            // Call a method and do not pass optional argument 
            double royalty = author.CalculateBookRoyalties(150, 50);
            Console.WriteLine($"Author Royalties: $ {royalty}");
            Console.ReadKey();
        }
    }
}
சி ஷார்ப்பில் மெத்தட் மட்டுமல்லாது கன்ட்ஸ்ரக்டர், இண்டெக்சர், டெலிகேட்ஸ் போன்ற வற்றிற்கும் ஆப்சனல் பராமீட்டர் பயன்படுத்தலாம்.
நன்றி
முத்து கார்த்திகேயன்.
மதுரை.
ads Udanz

No comments:

Post a Comment