কম্পিউটার টিউটোরিয়াল

C#-এ Int16 Struct


C#-এ Int16 Struct একটি ১৬-বিট সাইনড ইন্টিজার রিপ্রেজেন্ট করে যার মান -32,768 থেকে +32,767 পর্যন্ত হতে পারে। C#-এ short কীওয়ার্ডটি System.Int16-এর এলিয়াস (alias)।

ফিল্ডস (Fields)

ক্র. নংফিল্ড এবং বিবরণ
১MaxValue − Int16-এর সম্ভাব্য সর্বোচ্চ মান। এই ফিল্ডটি কনস্ট্যান্ট। মান: 32,767
২MinValue − Int16-এর সম্ভাব্য সর্বনিম্ন মান। এই ফিল্ডটি কনস্ট্যান্ট। মান: -32,768

প্রধান মেথডস (Methods)

ক্র. নংমেথড এবং বিবরণ
১CompareTo(Int16) − এই ইনস্ট্যান্সকে একটি নির্দিষ্ট ১৬-বিট সাইনড ইন্টিজারের সাথে তুলনা করে।
২CompareTo(Object) − এই ইনস্ট্যান্সকে একটি নির্দিষ্ট অবজেক্টের সাথে তুলনা করে।
৩Equals(Int16) − এই ইনস্ট্যান্স একটি নির্দিষ্ট Int16 মানের সমান কিনা তা বোঝায়।
৪Equals(Object) − এই ইনস্ট্যান্স একটি নির্দিষ্ট অবজেক্টের সমান কিনা তা বোঝায়।
৫GetHashCode() − এই ইনস্ট্যান্সের হ্যাশ কোড রিটার্ন করে।
৬GetTypeCode() − Int16 ভ্যালু টাইপের জন্য TypeCode রিটার্ন করে।
৭Parse(String) − একটি স্ট্রিং রিপ্রেজেন্টেশনকে তার ১৬-বিট সাইনড ইন্টিজার সমতুল্যে রূপান্তর করে।

Int16.GetHashCode() মেথড

Int16.GetHashCode() মেথডটি বর্তমান ইনস্ট্যান্সের হ্যাশ কোড রিটার্ন করে।

সিনট্যাক্স

public override int GetHashCode ();

উদাহরণ ১

using System; 
public class Demo { 
    public static void Main() { 
        short val1 = 20; 
        short val2 = 25; 
        Console.WriteLine("Value1 = " + val1); 
        Console.WriteLine("Value2 = " + val2); 
        Console.WriteLine("HashCode for value1 = " + val1.GetHashCode()); 
        Console.WriteLine("HashCode for value2 = " + val2.GetHashCode()); 
        Console.WriteLine("Are they equal? = " + (val1.Equals(val2))); 
    } 
}

আউটপুট

Value1 = 20 
Value2 = 25 
HashCode for value1 = 1310740 
HashCode for value2 = 1638425 
Are they equal? = False

উদাহরণ ২

using System; 
public class Demo { 
    public static void Main() { 
        short val1 = 0; 
        short val2 = Int16.MaxValue; 
        Console.WriteLine("Value1 = " + val1); 
        Console.WriteLine("Value2 = " + val2); 
        Console.WriteLine("HashCode for value1 = " + val1.GetHashCode()); 
        Console.WriteLine("HashCode for value2 = " + val2.GetHashCode()); 
        Console.WriteLine("Are they equal? = " + (val1.Equals(val2))); 
    } 
}

আউটপুট

Value1 = 0 
Value2 = 32767 
HashCode for value1 = 0 
HashCode for value2 = 2147450879 
Are they equal? = False

Int16.GetTypeCode() মেথড

Int16.GetTypeCode() মেথডটি Int16 ভ্যালু টাইপের জন্য TypeCode রিটার্ন করে।

সিনট্যাক্স

public TypeCode GetTypeCode ();

উদাহরণ ১

using System; 
public class Demo { 
    public static void Main() { 
        short val1 = 0; 
        short val2 = Int16.MaxValue; 
        Console.WriteLine("Value1 = " + val1); 
        Console.WriteLine("Value2 = " + val2); 
        Console.WriteLine("HashCode for value1 = " + val1.GetHashCode()); 
        Console.WriteLine("HashCode for value2 = " + val2.GetHashCode()); 
        Console.WriteLine("Are they equal? = " + (val1.Equals(val2))); 
        TypeCode type1 = val1.GetTypeCode(); 
        TypeCode type2 = val2.GetTypeCode(); 
        Console.WriteLine("TypeCode for val1 = " + type1); 
        Console.WriteLine("TypeCode for val2 = " + type2); 
    } 
}

আউটপুট

Value1 = 0 
Value2 = 32767 
HashCode for value1 = 0 
HashCode for value2 = 2147450879 
Are they equal? = False 
TypeCode for val1 = Int16 
TypeCode for val2 = Int16

উদাহরণ ২

using System; 
public class Demo { 
    public static void Main() { 
        short val1 = 23; 
        short val2 = 0; 
        Console.WriteLine("Value1 = " + val1); 
        Console.WriteLine("Value2 = " + val2); 
        Console.WriteLine("HashCode for value1 = " + val1.GetHashCode()); 
        Console.WriteLine("HashCode for value2 = " + val2.GetHashCode()); 
        Console.WriteLine("Are they equal? = " + (val1.Equals(val2))); 
        TypeCode type1 = val1.GetTypeCode(); 
        TypeCode type2 = val2.GetTypeCode(); 
        Console.WriteLine("TypeCode for val1 = " + type1); 
        Console.WriteLine("TypeCode for val2 = " + type2); 
    } 
}

আউটপুট

Value1 = 23 
Value2 = 0 
HashCode for value1 = 1507351 
HashCode for value2 = 0 
Are they equal? = False 
TypeCode for val1 = Int16 
TypeCode for val2 = Int16

মূল পয়েন্টস

  • Int16 মেমরি-দক্ষ (memory-efficient) টাইপ, বড় অ্যারে বা কালেকশনে জায়গা বাঁচাতে ব্যবহৃত হয়।
  • GetTypeCode() সবসময় TypeCode.Int16 রিটার্ন করে (এনাম মান: ৭)।
  • short কীওয়ার্ড ব্যবহার করা প্রস্তাবিত (আরো পঠনযোগ্য)।
  • হ্যাশ কোড সাধারণত মানটিই রিটার্ন করে (ছোট রেঞ্জের কারণে)।
  1. C#-এ UInt32 স্ট্রাকচার

  2. C#-এ UInt16 স্ট্রাকচার

  3. C#-এ Int16 থেকে Decimal-এ ইমপ্লিসিট কনভারশন

  4. পাইথনে struct মডিউল