الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن طريقة استخدام دالة Tostring()

بدأه EXP في 8 أبريل 2008 · 13 رد · 4,086 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاتة

انا عضو جديد فى هذا المنتدى و اتمنى تفاعل الاعضاء معى

سؤالى عن دالة ToString () لماذا طريقة استخدام هذة الدالة و طريقة نداءها يختلف عن الدوال الاخرى ؟

بمعنى ان عندما انادى على اى دالة تكون بهذا الشكل

Console.WriteLine ("ْx");

انما مع ToString() يكون التعامل معها بهاذا الشكل

  x.ToString();

لية الدالة بتيجى بعد ال ?Variable

تم تعديل هذه المشاركة بواسطة EXP في 8 أبريل 2008 في 20:06

#2

دالة ToString تستخدم لتغير المتغير الي نوع String

مثلا لدينا متغير من نوع int نستطيع تحويلة الي String عبر هذة الدالة

وهذا مثال بسيط لتعريف قمية من نوع انتقر وطباعتها بنوع اسنترق

int x=5;
Console.WriteLine (x.ToString());
#3

مش دا سؤالى

سؤالى اماذا لم تكتب هكذا

Console.Writeline(Tostring(x));
#4

هذا لأن ToString هي ما يدعى بالـmethod. وهي دالة تابعة للكلاس.

في هذه الحالة ToString هي أحد الـmethods الخاصة بالكلاس object. لذا فإن أي كلاس يرث من object (مثل int) يحتوي على هذا الـmethod.

مثال آخر:

Console.Writeline

في هذه الحالة Writeline هي ـmethod تابعة للكلاس Console

#5

اخى System Down

انا لو عايز اعمل دالة زى ToString تكون طريقة نداءها مثل ToString من غير معمل Override للدالة

تكون مثلها فى طريقة النداء مش مهم بتعمل اية

تم تعديل هذه المشاركة بواسطة EXP في 9 أبريل 2008 في 20:01

#6

لية الدالة بتيجى بعد ال variable ???????

يعنى لية مينفعش احط ال variable جوة اقواس ال method

 ToString(X);
#7
public class Account
{
	int ID;
	string Name;

	public Account() { }

	public Account(int id, string name)
	{
		this.ID = id;
		this.Name = name;
	}

	public override string ToString()
	{
		return ToString("Account info ID ({0}), Name ({1})");
	}

	public string ToString(string format)
	{
		return string.Format(format, this.ID, this.Name);
	}
}

public Form1()
{
	Account account = new Account(22527, "Moudey");

	MessageBox.Show(account .ToString());
	MessageBox.Show(account .ToString("Account info\nID = {0}\nName = {1}"));
}

تم تعديل هذه المشاركة بواسطة Moudey في 12 أبريل 2008 في 04:15

مواضيع متنوعة

#8

اعتقد يا اخى ان المتغير بيجى قبل الداله علشان بيكون تم معرفته فى الـ runtime للبرنامج ولو عكسنا الوضع مثل ما بتقول يبقى منطقيا هايحول ايه لـ tostring اعتقد ان المتغير قبل الداله منطقية اكثر من كونها قبله انا فكرت فيها من ناحيه المنطق والله اعلم اللى انا باقوله ده صح ولا غلط

#9

أخي ما تتحدث عنه هو موضوع الفئات Classes

int هنا ليست نوع مثلما هي في سي، سي++، إنمت هي كلاس... داخل هذا الكلاس يوجد الكثير من الدوال.. ولإستدعاء دالة تابعة للكلاس نقوم بالتالي: إسم الأوبجكت.اسم الدالة()

"الاوبجطت هو تعريف متغيّر من نوع هذا الكلاس"

فكلاس int شكله همذا تقريبا:

class int : public Object
{
......
string ToString();
.....

}

اقتباس
يعنى لية مينفعش احط ال variable جوة اقواس ال method
لأن الدالة لا تأخذ برامترات...هي مصممة هكذا,.
#10

اهااااااا

مكنتش اعرف ان int دا class

كدا الفكرة وضحت

يعنى .ToString بقت من ال Class int Members

بس اللى اعرفو ان ال int ,char,bool,....... ٍ structs مش classes و الله اعلم

انا كدا حصلى تشويش :(

تم تعديل هذه المشاركة بواسطة EXP في 12 أبريل 2008 في 23:22

#11

اقرأ عن سي# وكيفية تطبيقها لمبدأ البرمجة الكائنية oop وإن شاء لا يكون تشويش.

#13
System Down كتب:
في الدوت نت الـInt ليست struct بل كلاس.

[Serializable, StructLayout(LayoutKind.Sequential), ComVisible(true)]
public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>
{
	public const int MaxValue = 0x7fffffff;
	public const int MinValue = -2147483648;
	internal int m_value;
	public int CompareTo(object value);
	public int CompareTo(int value);
	public override bool Equals(object obj);
	public bool Equals(int obj);
	public override int GetHashCode();
	public override string ToString();
	public string ToString(string format);
	public string ToString(IFormatProvider provider);
	public string ToString(string format, IFormatProvider provider);
	public static int Parse(string s);
	public static int Parse(string s, NumberStyles style);
	public static int Parse(string s, IFormatProvider provider);
	public static int Parse(string s, NumberStyles style, IFormatProvider provider);
	public static bool TryParse(string s, out int result);
	public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out int result);
	public TypeCode GetTypeCode();
	bool IConvertible.ToBoolean(IFormatProvider provider);
	char IConvertible.ToChar(IFormatProvider provider);
	sbyte IConvertible.ToSByte(IFormatProvider provider);
	byte IConvertible.ToByte(IFormatProvider provider);
	short IConvertible.ToInt16(IFormatProvider provider);
	ushort IConvertible.ToUInt16(IFormatProvider provider);
	int IConvertible.ToInt32(IFormatProvider provider);
	uint IConvertible.ToUInt32(IFormatProvider provider);
	long IConvertible.ToInt64(IFormatProvider provider);
	ulong IConvertible.ToUInt64(IFormatProvider provider);
	float IConvertible.ToSingle(IFormatProvider provider);
	double IConvertible.ToDouble(IFormatProvider provider);
	decimal IConvertible.ToDecimal(IFormatProvider provider);
	DateTime IConvertible.ToDateTime(IFormatProvider provider);
	object IConvertible.ToType(Type type, IFormatProvider provider);
}

Name: System.Int32 
Assembly: mscorlib, Version=2.0.0.0

مواضيع متنوعة

#14

اة كدا فهمت

مكنتش اعرف ان الــstruct can inherit interface

هوة لازم يكون struct عشان ال int value type

المناقشات دى مفيدة

THNX ALL

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…