سلام
دوستان پیشنهاد شما چیست؟
سلام
دوستان پیشنهاد شما چیست؟
سلام
حتما خودتان مطلع هستید که برای اغلب مواردی که نیاز به ساخت string جدید ناشی از الحاق متوالی (Concat) است، کلاس System.Text.StringBuilder بازدهی مناسبی ارائه میدهد.
مکانیزم داخلی StringBuilder شبیه یک <List<char (وحتی بهتر) عمل میکند که بافری تخصیص داده وتا پرشدن آن از بزرگ کردن بافر اجتناب میکند.
(لازم است تاکید کنم که در اغلب موارد نیاز نمیشود ولی) اگر واقعا پردازش های سنگین ومتوالی روی داده های string ای نیاز باشد، شاید بهتر باشد، مستقیم از <List<char و یا حتی آرایه char استفاده شود، (مانند سایر زبان ها) خیلی مهم است که مفهوم Capacity و Count جدا باشد، یعنی بافر شما بتواند بزرگتر باشد ولی متن کوچکتری را در خود جای دهد تا فضا برای درج های آتی داشته باشد.
درموارد پیشرفته تر شاید بتوانید بافرهای متعدد داشته باشید، مثلا اطلاعات هر یک خط (Line) یا صفحه (Page) را در یک بافر نگه داری کنیدو...
کل اینها فقط برای موارد خاص است که حجم پردازش های متنی سنگین و زیاد باشد.
موفق باشید.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)