تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ آران عبدی
Type Casting
جامعه فلاتر ایجاد شده در ۱۶ دی ۱۴۰۰

قطعه کد زیر رو برای تبدیل توع داده مینویسیم که خطا میده:

void main() {
  var age = 12 as String;
  print(age is String);
}

خطای زیر رو میده:

: TypeError: 12: type 'JSInt' is not a subtype of type 'String'Error: TypeError: 12: type 'JSInt' is not a subtype of type 'String'

اران جان سلام وقتت بخیر

شما یک متغییر تعریف کردی به نام age و اومدی یک مقدار int رو بهش اختصاص دادی بعدش داری میگی این داده من ینی عدد 12 از جنس استرینگه که کاملا نادرسته چون داده int با string متفاوته تایپش.

اگر میخوای داده ای رو از نوع int به string تبدیل کنی باید از تابع toString استفاده کنی

محمد حسین سخایی ۱۶ دی ۱۴۰۰، ۱۴:۴۲

بله حسین جان این مورد رو چک کردم و به متد toString رسیدم اما سوالم اینجاست که استاد as رو برای type casting معرفی کردند درحالی که عملا من کاربردش رو درک نکردم.

البته برای آبجکت این مورد رو چک کردم و خطا نداد برنامه اما همچنان وفتی نوع داده age رو چک کردم از نوع int بود. خب as کاربردش چیه؟

آران عبدی ۱۶ دی ۱۴۰۰، ۱۴:۴۸

ببین وقتی از Cast استفاده میکنیم که میخوایم DataType داده خودمون رو تغییر بدیم مثلا من یک داده از جنس int دارم میخوام به یک داده ای از جنس Double تبدیل کنم .

چون هم int و هم double هر دوتاشون از جنس عدد هستند عملیات کست کردن به راحتی اتفاق میفته چرا چون هم تایپ اولم از جنس عدده و هم تایپ بعدی و نهایی من از جنس عدده .

اما وقتی من یک داده از جنس String دارم نمیتونم به داده ای از جنس Int بیام Cast کنم چون اینا از یک جنس نیستن .

خلاصه این که برای کست کردن باید نوع داده‌های مبدا و مقصد از یه نوع باشن

امیدوارم تونسته باشم خوب برات توضیح بدم :))

محمد حسین سخایی ۱۶ دی ۱۴۰۰، ۱۵:۴۵