Массив Char в класс - PullRequest
       16

Массив Char в класс

3 голосов
/ 24 ноября 2008

У меня есть входящий поток байтов (без знака) из файла или сети. Мне нужны эти данные в классе, и я ищу NET-способ сделать это.

Бьюсь об заклад, некоторые делают это все время, поэтому я думаю, что есть лучший способ сделать это, чем использование BitConverter.

Я понимаю, что предоставил слишком мало информации. Позвольте мне попробовать пример класса:

class data { 
void doSmething(); 
int var1; 
float var2; 
} 

Затем я хочу передать данные (var1 и var2), содержащиеся в этом классе, через f.ex. сетевой сокет и получать данные на другом конце

Ответы [ 4 ]

3 голосов
/ 24 ноября 2008

Как упоминал Джон, не понятно, что вам нужно. Может быть, вы говорите, может быть, это Двоичная сериализация , что вы ищете?

1 голос
/ 24 ноября 2008

У вас есть 2 варианта: двоичная сериализация (как сказал PiRX) или XML-сериализация для повышения производительности, чем лучше двоичная, но я предпочитаю сериализацию xml для ее читабельности:

 [Serializable]
    [XmlRoot("CONFIGURATION")]
    public class Configuration
    {
        EnterpriseCollection enterprises;
        public Configuration()
        {

            enterprises= new EnterpriseCollection();
        }
        [XmlElement("ENTERPRISE")]
        public EnterpriseCollection Enterprises
        {
            get
            {
                return this.enterprises;
            }
            set
            {
                this.enterprises = value;
            }
        }
        private string name;
        [XmlElement("NAME")]
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
1 голос
/ 24 ноября 2008

Не совсем понятно, что вы имеете в виду, но если вы в основном ищете способ буферизовать данные, чтобы вы могли получить их позже, MemoryStream , вероятно, является вашим лучшим выбором. Запишите в него все свои данные, затем установите Положение в 0, и вы сможете снова прочитать данные.

0 голосов
/ 25 ноября 2008

вы можете использовать класс std :: string. Один из его конструкторов принимает char * в качестве аргумента, чтобы вы могли переходить от char * к строке. и строка - отличный способ хранения строк вашего персонажа. перейдите к http://www.cppreference.com/ для получения дополнительной информации о строках

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...