Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практична робота №4





Тема: Реалізація засобів отримання текстового представлення об’єктів ПО.

Мета заняття: Поглибити знання і закріпити практичні навички з використання засобів, що призначені для роботи з рядками. Навчитись використовувати методи розширення для роботи з масивами і колекціями об’єктів.

Теоретичні відомості

У C# для роботи з рядками тексту призначені класи String та StringBuilder.

Тип System.String - посилальний. З цього випливає те, що рядки розміщуються в «купі» і мають багатий набір методів.

Одна з переваг «посилальних» рядків полягає в тому, що якщо нам в програмі знадобиться безліч екземплярів одного й того ж рядка, то насправді пам'ять виділиться лише для одного. Решта будуть посилатися на те ж місце в пам'яті.

При роботі з рядками потрібно враховувати той факт, що в C # рядки незмінні. Тобто, неможливо внести в рядок будь-які зміни не перестворює її. Але турбуватися з цього приводу не варто - рядок створюється і знищується автоматично, вам лише потрібно прийняти посилання на неї і продовжувати працювати. При цьому потрібно розуміти, що посилальні змінні типу string можуть міняти об'єкти, на які вони посилаються. А вміст створеного string-об'єкта змінити вже неможливо.

Для того, щоб уникнути втрат продуктивності, був придуманий клас StringBuilder. Даний клас має менш великий набір методів у порівнянні з класом String, але при цьому, працюючи з рядком даного типу - ми працюємо з об'єктом, розташованим в одному і тому ж місці в пам'яті. Пам'ять перерозподіляється тільки тоді, коли в рядку типу StringBuilder не вистачає місця для проведених змін. При цьому розмір такого рядка збільшується вдвічі.

Хоча клас StringBuilder зазвичай забезпечує більшу продуктивність, ніж клас String, не слід замінити автоматично String з StringBuilder використовується для роботи з ними. Продуктивність залежить від розміру рядка, обсягу пам'яті, який потрібно для нового рядка, системи, на якій додаток виконується і типу операції.

Рекомендується використовувати клас String за таких умов:

· Якщо кількість змін, які виконує додаток в рядку мала.

· При виконанні фіксованого числа операцій об'єднання, особливо із рядковими літералами. У цьому випадку компілятор може об'єднати операції об'єднання в єдину операцію.

· При необхідності виконання масштабних операцій пошуку при побудові рядка. Клас StringBuilder немає методів пошуку, таких як IndexOf або StartsWith. Необхідно перетворити об'єкт StringBuilder в String для цих операцій, і це може заперечити переваги продуктивності використання StringBuilder.

Рекомендується використовувати клас StringBuilder за таких умов:

· Якщо передбачається, що додаток має зробити невідоме число змін у рядку під час розробки (наприклад, при використанні циклу для зчеплення випадкового число рядків, що містять дані від користувача).

· Якщо передбачається, що додаток має зробити значне число змін у рядоку.

 

Date: 2015-09-02; view: 313; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию