آموزش DateTime.Parse() در C# و .NET با ۱۰ مثال عملی

آموزش کامل DateTime.Parse() در C# و .NET؛ مثال، خطا و Performance

توسط admin | گروه SQL Server | 1405/05/01

نظرات 0

آموزش کامل DateTime.Parse() در C# و .NET

مقدمه

DateTime.Parse() یکی از ابزارهای مستقیم تبدیل متن در پلتفرم Microsoft .NET است. این API در حوزه‌هایی مانند زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای کاربرد دارد. هدف آن این است که نمایش متنی معتبر را به نوع مقصد تبدیل کند و در صورت نقض قرارداد، شکست را با استثنا اعلام نماید.

در این راهنما تبدیل متن به تاریخ و زمان را از سطح پایه تا طراحی حرفه‌ای بررسی می‌کنیم. تفاوت اعتبار نحوی و اعتبار کسب‌وکار، رفتار مقدار null، اثر CultureInfo، مدیریت خطا، کارایی و انتخاب میان Parse و TryParse با مثال‌های کامل توضیح داده می‌شود.

اگر به نمای کلی خانواده تبدیل‌ها و مسیر یادگیری همه نوع‌ها نیاز دارید، راهنمای جامع متدهای Parse در C# و .NET را نیز مطالعه کنید. لینک‌های این مجموعه مستقل از دامنه ساخته شده‌اند تا پس از جابه‌جایی وب‌سایت هم سالم بمانند.

1DateTime.ParseC# Parse

تصویر 1: DateTime.Parse()؛ نمای مفهومی مسیر متن تا مقدار نوع‌دار

تعریف، Syntax و قرارداد متد

در ساده‌ترین حالت، DateTime.Parse() یک رشته را دریافت می‌کند و مقدار DateTime تحویل می‌دهد. محدوده یا قالب اصلی این نوع عبارت است از: تاریخ و زمان معتبر در محدوده نوع DateTime. موفقیت تبدیل فقط درست‌بودن قالب را ثابت می‌کند؛ قواعد دامنه مانند مثبت‌بودن مبلغ یا تعریف‌شدن مقدار Enum باید جداگانه کنترل شوند.

Syntax پایه و قابل اجرا

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23T09:30:00";
            DateTime value = DateTime.Parse(text);
            Console.WriteLine(value);
        }
    }

پارامترها و نوع خروجی

  • پارامتر اصلی، متن ورودی است و نباید بدون قرارداد مشخص از لایه نمایش به هسته دامنه عبور کند.
  • برخی overloadها فرهنگ، NumberStyles، DateTimeStyles، قالب یا گزینه ignoreCase دریافت می‌کنند.
  • نوع خروجی در این مقاله DateTime است؛ در شکست، Parse معمولاً FormatException، ArgumentException یا OverflowException ایجاد می‌کند.
  • مقدار null بسته به نوع و overload می‌تواند ArgumentNullException ایجاد کند؛ بنابراین سیاست null باید پیش از تبدیل روشن باشد.

Parse را باید به چشم یک مرز قرارداد دید. وقتی برنامه ادعا می‌کند متن حتماً معتبر است، شکست Parse وجود یک خطای داده یا برنامه‌نویسی را آشکار می‌کند. وقتی نامعتبر بودن قابل انتظار است، TryParse مدل مناسب‌تری برای کنترل جریان خواهد بود.

مثال‌های عملی مستقل

مثال‌ها از تبدیل پایه شروع می‌شوند و به داده دسته‌ای، null، مقدار مرزی، خطای کنترل‌شده و مسیر بهینه می‌رسند. هر نمونه یک برنامه کامل کنسولی است و خروجی نمایشی اجازه می‌دهد نتیجه را بدون اجرای فوری کد بررسی کنید.

مثال 1: تبدیل تاریخ ISO

در سناریوی «تبدیل تاریخ ISO»، DateTime.Parse() یک رشته معتبر را به مقدار نوع‌دار تبدیل می‌کند تا ادامه برنامه با داده خام درگیر نباشد.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23";
            DateTime value = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            Console.WriteLine(value.ToString("yyyy-MM-dd"));
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:002026-07-23تبدیل تاریخ ISO

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 2: خواندن تاریخ و ساعت

برای «خواندن تاریخ و ساعت»، فاصله یا شکل نمایش ورودی آگاهانه مدیریت می‌شود و قرارداد تبدیل روشن باقی می‌ماند.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23 09:30";
            DateTime value = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            Console.WriteLine(value.ToString("HH:mm"));
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:0009:30خواندن تاریخ و ساعت

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 3: پردازش فهرست روزها

نمونه «پردازش فهرست روزها» چند مقدار مستقل را پردازش می‌کند و کاربرد این نوع را در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای نشان می‌دهد.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string[] dates = { "2026-07-21", "2026-07-22", "2026-07-23" };
            foreach (string text in dates)
            {
                Console.WriteLine(DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture).DayOfWeek);
            }
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:00Tuesday، Wednesday، Thursdayپردازش فهرست روزها

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 4: فیلتر دوره جاری

در «فیلتر دوره جاری»، خروجی نوع‌دار مستقیماً وارد شرط می‌شود؛ با این حال اعتبار دامنه از اعتبار قالب جدا نگه داشته می‌شود.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23";
            DateTime date = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            if (date >= new DateTime(2026, 7, 1))
            {
                Console.WriteLine("Current period");
            }
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:00Current periodفیلتر دوره جاری

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 5: حفظ UTC با RoundtripKind

مثال «حفظ UTC با RoundtripKind» ثابت می‌کند خروجی فقط یک متن تغییرشکل‌یافته نیست و Runtime نوع واقعی مقصد را ایجاد کرده است.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23T09:30:00Z";
            DateTime value = DateTime.Parse(text, null, System.Globalization.DateTimeStyles.RoundtripKind);
            Console.WriteLine(value.Kind);
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:00Utcحفظ UTC با RoundtripKind

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 6: سیاست تاریخ تهی

در «سیاست تاریخ تهی»، چون Parse برای null قرارداد موفقی ندارد، سیاست مقدار پیش‌فرض پیش از فراخوانی اعمال می‌شود.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string? text = null;
            DateTime fallback = text is null
                ? DateTime.UnixEpoch
                : DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            Console.WriteLine(fallback.ToString("O"));
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:001970-01-01T00:00:00.0000000Zسیاست تاریخ تهی

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 7: آزمون DateTime.MaxValue

آزمون «آزمون DateTime.MaxValue» کران مهم نوع مقصد را می‌سنجد؛ محدوده این مقاله تاریخ و زمان معتبر در محدوده نوع DateTime است.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "9999-12-31";
            DateTime value = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            Console.WriteLine(value == DateTime.MaxValue.Date);
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:00Trueآزمون DateTime.MaxValue

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 8: محاسبه سررسید SLA

سناریوی «محاسبه سررسید SLA» به یک کاربرد پروژه‌ای در حوزه زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای نزدیک است و مقدار تبدیل‌شده را وارد منطق کسب‌وکار می‌کند.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23T14:00:00";
            DateTime start = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            DateTime due = start.AddHours(6);
            Console.WriteLine(due.ToString("yyyy-MM-dd HH:mm"));
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:002026-07-23 20:00محاسبه سررسید SLA

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 9: رد تاریخ نامعتبر

در «رد تاریخ نامعتبر»، FormatException یا OverflowException فقط در مرزی مدیریت می‌شود که امکان ارائه پیام اصلاحی وجود دارد.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "31/31/2026";
            try
            {
                _ = DateTime.Parse(text, System.Globalization.CultureInfo.InvariantCulture);
            }
            catch (FormatException)
            {
                Console.WriteLine("Invalid date");
            }
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:00Invalid dateرد تاریخ نامعتبر

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

مثال 10: اعتبارسنجی تاریخ با TryParse

نمونه «اعتبارسنجی تاریخ با TryParse» از TryParse استفاده می‌کند تا شکست عادی بدون ساخت استثنا گزارش شود و مسیر پرترافیک خوانا بماند.

using System;
    
    public static class Program
    {
        public static void Main()
        {
            string text = "2026-07-23";
            if (DateTime.TryParse(text, System.Globalization.CultureInfo.InvariantCulture,
                System.Globalization.DateTimeStyles.None, out DateTime value))
            {
                Console.WriteLine(value.ToString("yyyyMMdd"));
            }
        }
    }
ورودی یا سناریوخروجی نمونهنکته
2026-07-23T09:30:0020260723اعتبارسنجی تاریخ با TryParse

کاربرد عملی این الگو در زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای دیده می‌شود. در نسخه تولیدی، پیام خطا، ثبت رخداد، حریم خصوصی داده و تست واحد را متناسب با قرارداد سامانه تکمیل کنید.

2DateTime.ParseC# Parse

تصویر 2: DateTime.Parse()؛ مقایسه مسیر موفق، شکست و اعتبارسنجی

خطاهای رایج و روش اصلاح

بیشتر ایرادهای تبدیل از خود API ناشی نمی‌شوند؛ منشأ آن‌ها قرارداد مبهم ورودی است. مشخص نبودن Culture، اعتماد به متن کاربر، نادیده‌گرفتن محدوده نوع و استفاده از استثنا برای کنترل جریان، رفتار سامانه را غیرقابل پیش‌بینی می‌کند.

  • فراخوانی Parse روی null یا رشته خالی؛ ابتدا سیاست مقدار اجباری، مقدار پیش‌فرض یا رد درخواست را تعیین کنید.
  • تکیه بر Culture جاری سرور؛ برای داده بین‌سامانه‌ای از CultureInfo.InvariantCulture یا قالب دقیق استفاده کنید.
  • فرض اینکه موفقیت تبدیل یعنی اعتبار کسب‌وکار؛ محدوده، موجودیت و قواعد دامنه را پس از تبدیل بسنجید.
  • گرفتن catch کلی و ادامه خاموش برنامه؛ فقط خطای قابل بازیابی را بگیرید و اطلاعات تشخیصی مناسب ثبت کنید.
  • تبدیل چندباره همان متن در لایه‌های مختلف؛ یک بار در مرز تبدیل کنید و مقدار نوع‌دار را به داخل بفرستید.
  • قرار دادن Parse در حلقه‌ای با نرخ خطای بالا؛ در این مسیر از TryParse و پردازش نتیجه bool استفاده کنید.

کارایی، حافظه و رفتار سیستمی

برای ورودی معتبر، DateTime.Parse() معمولاً عملیات کوتاهی است و مقدار مقصد را بدون نیاز به منطق پیچیده تولید می‌کند. با این حال هزینه واقعی به طول متن، فرهنگ، سبک عدد، نوع مقصد، نسخه Runtime، معماری CPU و نرخ شکست وابسته است.

تفاوت بزرگ زمانی دیده می‌شود که ورودی نامعتبر پرتکرار باشد. Parse برای گزارش شکست یک Exception می‌سازد و پرتاب می‌کند؛ این مسیر علاوه بر CPU می‌تواند تخصیص حافظه و فشار جمع‌آوری زباله ایجاد کند. TryParse شکست را با false برمی‌گرداند و برای داده کاربر یا فایل حجیم مناسب‌تر است.

در مسیرهای بسیار داغ، overloadهای مبتنی بر ReadOnlySpan می‌توانند از ساخت Substring جلوگیری کنند. این به معنی سریع‌تر بودن قطعی در هر پروژه نیست؛ آزمون باید در Release، بدون Debugger، پس از Warm-up و با داده‌ای شبیه تولید انجام شود. BenchmarkDotNet برای مقایسه علمی گزینه مطمئن‌تری است.

بهترین روش‌ها

  • نوع مقصد را بر اساس دامنه انتخاب کنید، نه صرفاً بر اساس اینکه نمونه فعلی در آن جا می‌شود.
  • قالب، Culture و سیاست null را بخشی از قرارداد API یا فایل بدانید.
  • برای داده تضمین‌شده Parse و برای شکست قابل انتظار TryParse را انتخاب کنید.
  • پیام خطای فارسی و قابل اقدام بسازید، اما داده محرمانه را در Log تکرار نکنید.
  • پس از تبدیل، اعتبار دامنه‌ای مانند محدوده مجاز و وجود شناسه را جداگانه کنترل کنید.
  • حالت‌های حداقل، حداکثر، صفر، منفی، فاصله، حروف و قالب ناسازگار را تست کنید.
  • در حلقه داغ، تبدیل و ساخت CultureInfo یا Regex تکراری را حذف کنید.
  • تصمیم کارایی را با پروفایل و Benchmark روی نسخه واقعی .NET تأیید کنید.

کاربرد واقعی در معماری نرم‌افزار

در سامانه سازمانی، DateTime.Parse() بهتر است در لایه ورودی، Mapper یا Value Object قرار گیرد. رشته خام مربوط به زمان‌بندی، ثبت رویداد، گزارش‌های دوره‌ای، تاریخ ورود و داده‌های بین‌سامانه‌ای پس از اعتبارسنجی به مقدار نوع‌دار تبدیل می‌شود و لایه دامنه دیگر درگیر جزئیات نمایش متن نیست.

این الگو تست‌پذیری را افزایش می‌دهد، پیام‌های خطا را یکپارچه می‌کند و مانع پخش‌شدن منطق تبدیل در Controller، فرم و Repository می‌شود. برای پروژه‌های بزرگ می‌توان نتیجه تبدیل را در یک Result type قرار داد تا خطا بدون Exception به لایه نمایش برگردد.

سؤالات متداول

۱. DateTime.Parse() دقیقاً چه کاری انجام می‌دهد؟

DateTime.Parse() نمایش متنی معتبر را مطابق قواعد نوع مقصد به یک مقدار نوع‌دار تبدیل می‌کند. نتیجه پس از تبدیل می‌تواند در محاسبه، شرط، ذخیره‌سازی یا منطق دامنه استفاده شود و دیگر لازم نیست با رشته خام کار کنیم.

۲. چه زمانی استفاده از DateTime.Parse() برای تازه‌کاران مناسب است؟

وقتی منبع داده مورد اعتماد است، قالب از قبل اعتبارسنجی شده و شکست واقعاً یک وضعیت استثنایی محسوب می‌شود، Parse انتخابی ساده و خواناست. برای ورودی مستقیم کاربر معمولاً TryParse تجربه مقاوم‌تری ایجاد می‌کند.

۳. آیا استفاده درست از DateTime.Parse() هزینه نگهداری پروژه را کم می‌کند؟

بله؛ تبدیل در مرز سیستم و انتقال مقدار نوع‌دار به لایه‌های داخلی، شرط‌های تکراری و خطاهای پنهان را کاهش می‌دهد. این جداسازی در پروژه‌های تجاری، گزارش‌گیری و سامانه‌های چندلایه ارزش زیادی دارد.

۴. در پروژه سفارشی چگونه سیاست تبدیل DateTime.Parse() طراحی می‌شود؟

قالب ورودی، فرهنگ، رفتار null، محدوده مجاز، پیام خطا و محل ثبت رخداد باید در قرارداد ورودی مشخص شوند. سپس تبدیل در یک نقطه مشترک مانند Validator، Mapper یا لایه ورودی پیاده‌سازی و با تست پوشش داده می‌شود.

۵. تفاوت کلیدی Parse و TryParse برای DateTime.Parse() چیست؟

Parse در شکست استثنا پرتاب می‌کند، ولی TryParse با یک مقدار bool موفقیت را گزارش می‌دهد و خروجی را از پارامتر out تحویل می‌دهد. تفاوت اصلی در قرارداد شکست است، نه صرفاً شکل نوشتن کد.

۶. برای پیاده‌سازی حرفه‌ای DateTime.Parse() چه خدماتی لازم می‌شود؟

در سامانه حساس می‌توان از بازبینی قرارداد داده، طراحی اعتبارسنجی، تست داده‌های مرزی، پروفایل کارایی و ثبت خطای ساخت‌یافته استفاده کرد. مشاوره فنی کمک می‌کند این تصمیم‌ها با معماری و نیاز واقعی محصول هماهنگ شوند.

۷. خطاهای رایج DateTime.Parse() کدام‌اند؟

ارسال null، رشته خالی، قالب ناسازگار، عدد خارج از محدوده، فرهنگ اشتباه و گرفتن کلی همه Exceptionها از خطاهای پرتکرار هستند. ثبت مقدار حساس نیز باید با قواعد امنیت و حریم خصوصی هماهنگ شود.

۸. آیا DateTime.Parse() از نظر Performance کند است؟

روی ورودی معتبر معمولاً تبدیل سریع است؛ مشکل اصلی زمانی رخ می‌دهد که داده نامعتبر زیاد باشد و Parse مرتب استثنا بسازد. اندازه‌گیری با داده واقعی، Release build، Runtime هدف و ابزار مناسب از حدس بهتر است.

۹. بهترین روش استفاده از DateTime.Parse() چیست؟

فرهنگ و قالب را صریح کنید، تبدیل را در مرز ورودی نگه دارید، دامنه مجاز را جداگانه بسنجید، از تبدیل تکراری جلوگیری کنید و برای تمام کران‌ها تست داشته باشید. شکست قابل انتظار را نیز با TryParse مدل کنید.

۱۰. DateTime.Parse() با کدام نسخه‌های C# و .NET سازگار است؟

شکل‌های پایه Parse سال‌هاست در .NET وجود دارند، اما overloadهای Generic، Span و رابط‌های جدید مانند IParsable به نسخه Runtime وابسته‌اند. پیش از استفاده از overload جدید، Target Framework پروژه و مستندات همان نسخه را کنترل کنید.

سؤالات مصاحبه

سؤالمحور پاسخ حرفه‌ای
چه زمانی DateTime.Parse() را به TryParse ترجیح می‌دهید؟قرارداد قطعی ورودی و استثنایی‌بودن واقعی شکست
چرا CultureInfo روی تبدیل مهم است؟جداکننده، قالب، زبان و پایداری داده بین‌سامانه‌ای
موفقیت Parse چه چیزی را تضمین نمی‌کند؟اعتبار دامنه، مجوز، موجودیت و منطق کسب‌وکار
استثنا در حلقه داغ چه اثری دارد؟هزینه CPU، تخصیص و پیچیدگی مسیر کنترل
Span چه زمانی مفید است؟حذف برش رشته و کاهش تخصیص در پردازش حجیم

چک‌لیست نهایی

  • نوع مقصد و محدوده آن با دامنه هماهنگ است.
  • قالب و Culture ورودی مستند شده است.
  • رفتار null و رشته خالی مشخص است.
  • Parse یا TryParse بر اساس قرارداد شکست انتخاب شده است.
  • اعتبار نحوی و اعتبار کسب‌وکار جدا هستند.
  • مقادیر مرزی و نامعتبر تست شده‌اند.
  • در مسیر پرترافیک اندازه‌گیری واقعی انجام شده است.
  • پیام خطا مفید است و اطلاعات حساس را افشا نمی‌کند.
3DateTime.ParseC# Parse

تصویر 3: DateTime.Parse()؛ چک‌لیست انتخاب API و آماده‌سازی برای تولید

جمع‌بندی

DateTime.Parse() زمانی بهترین انتخاب است که متن مطابق قراردادی قطعی و معتبر وارد شود و شکست باید یک وضعیت استثنایی باشد. برای ورودی نامطمئن، TryParse کنترل صریح‌تر و معمولاً رفتار کاراتری در مسیر شکست ارائه می‌کند. انتخاب نوع، فرهنگ، تست مرزی و محل تبدیل به اندازه خود فراخوانی متد اهمیت دارند.

برای مقایسه این API با سایر تبدیل‌ها، راهنمای جامع متدهای Parse در C# و .NET را ببینید. این راهنما نقشه کامل bool، انواع عددی، DateTime، Guid، Enum و تحلیل کارایی را یکجا ارائه می‌کند.

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر