Welcome to MSDN Blogs Sign in | Join | Help

Секреты Visual Studio

Советы пользователям Microsoft Visual Studio от Сары Форд (и не только)

News

  • 22 октября 2009: Visual Studio 2010 Beta 2 открыта для тестирования: http://go.microsoft.com/fwlink/?LinkID=151797 24 сентября 2009: Web Platform Installer и Web Deployment Tool теперь и на русском! Читай здесь: http://blogs.msdn.com/rusaraford/archive/2009/09/25/microsoft-web-platform-installer-2-0-web-deployment-tool-1-0.aspx 16 декабря 2008: выпущен пакет обновлений SP1 для русской версии Visual Studio 2008! Читай здесь: http://blogs.msdn.com/rusaraford/archive/2008/12/19/sp1-visual-studio-2008.aspx 28 октября 2008: Visual Studo 2008 и Библиотека MSDN теперь и на русском! Читай здесь: http://blogs.msdn.com/rusaraford/archive/2008/10/29/microsoft-visual-studio-2008-msdn.aspx 19 сентября 2008 г. - на TechDays.ru опубликована презентация, посвященная выходу русифицированной версии Microsoft Visual Studio 2008 и Библиотеки MSDN 11 августа 2008 г. - выпущены обновления: Visual Studio 2008 SP1 и .NET Framework 3.5 SP1 8 июля 2008 г. – опубликован перевод статьи Брайана Келлера "Наиболее надежный и быстрый способ скачать Rosario / VS2008 VPC" 20 июня 2008 г. – начало публикации блога Сары Форд «Секреты Visual Studio»
Из блога Майка Сноу: Поддержка наборов данных в Silverlight

Silverlight предоставляет несколько вариантов поддержки наборов данных для их хранения и извлечения. В этом совете я покажу вам различные пути использования этих возможностей. Не забудьте добавить пространство имен System.Collections к вашему коду.

BitArray. BitArray это класс, иллюстрирующий как управлять коллекцией битовых значений, представленных значениями true (1 = бит включен) или false (0 = бит выключен). Следующий пример показывает использование BitArray. Помните, что BitArray имеет множество перегруженных конструкторов, здесь же представлен только один из них.

BitArray bitArray = new BitArray(4);
 
// Add
bitArray[0] = true;
bitArray[1] = false;
bitArray[2] = false;
bitArray[3] = true;
 
// Retreive
if (true == bitArray[1])
{
    //...
}

List. List это коллекция, позволяющая хранить любой тип данных, доступ к которым осуществляется по индексу. В примере ниже используется строка, но вы можете заменить строку на любой тип по своему усмотрению.

List<string> test = new List<string>();
 
// Add data
test.Add("Hello");
test.Add("There");
test.Add("Goodbye");
 
// Retrieve "Goodbye"
string data = test[2];

Stack. Stack всегда работает по принципу "Последним пришел, первым вышел" (LIFO). Таким образом, данные, которые были добавлены к стеку методом Push(), будут получены первыми вызовом метода Pop(). Как и в случаи с классом List, в Stack вы можете хранить любые типы объектов. На примере ниже мы используем тип integer.

Stack<int> stack = new Stack<int>();
 
stack.Push(5);
stack.Push(3);
stack.Push(4);
 
// Pop the 4 off the stack.
int test = stack.Pop();

Queue. Этот класс поддерживает прицип "Первым пришел, первым вышел" (FIFO). Объекты добавляются методом Enqueue() и извлекаются с удалением методом Dequeue(). На примере ниже, мы устанавливаем в очередь три строки. Затем, вызовом Dequeue(), мы извлекаем первую строку со значением "First". Если бы мы предприняли еще один вызов Dequeue(), мы извлекли бы строку со значением "Second".

// Add data
Queue<string> queue = new Queue<string>();
queue.Enqueue("First");
queue.Enqueue("Second");
queue.Enqueue("Third");
 
// Retrieve the string "First"
string test = queue.Dequeue();

LinkedList. LinkedList содержит набор связанных элементов. При этом у вас есть прямой доступ к "голове" и "хвосту" списка, и вы можете двигаться по списку от начала до конца. На примере ниже, мы задекларировали класс Node, который мы будем хранить в LinkedList.

class Node
{
    private int _ID;
 
    public Node(int ID)
    {
        _ID = ID;
    }
 
    public int ID
    {
        get { return _ID; }
        set { ID = value; }
    }
 
};
 
public partial class Page : UserControl
{
    public Page()
    {
        InitializeComponent();
 
 
        // Add Nodes
        LinkedList<Node> _list = new LinkedList<Node>();            
        LinkedListNode<Node> headNode = _list.AddFirst(new Node(432));
        LinkedListNode<Node> lastNode = _list.AddAfter(headNode, new Node(200));
        lastNode = _list.AddAfter(lastNode, new Node(451));
        lastNode = _list.AddAfter(lastNode, new Node(14));
        lastNode = _list.AddAfter(lastNode, new Node(55));
 
        // Retrieve Nodes
        foreach (Node node in _list)
        {
            int ID = node.ID;
        }
        
    }
}

Dictionary. Этот класс хранит данные с использованием пары ключ/значение, где ключ используется для идентификации сохраняемых и извлечения сохраненных данных.

Dictionary<int, string> myData = new Dictionary<int, string>();
 
// Store Data
myData.Add(4324, "Cat");
myData.Add(331, "Dog");
myData.Add(442, "Lion");
myData.Add(3444, "Tiger");
 
// Retrieve "Lion" by passing the key 3444
string animal = myData[442];

Выдержка из блога Майка Сноуссылка на оригинал

Авторские права Майка Сноу. Переведено с разрешения Майка Сноу.

Technorati Tags:
Posted: Monday, November 17, 2008 3:17 PM by Vitaly Zaiko
Filed under:

Comments

No Comments

Anonymous comments are disabled
Page view tracker