Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
1

Преобразовать Node в строку и наоборот

05.03.2013, 20:46. Показов 8627. Ответов 119
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
имеется класс
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CustomTree
{
    public class Node
    {
        public Node()
        {
            _children = new NodeCollection(this);
        }
        public Node(string name)
        {
            _children = new NodeCollection(this);
            this.Name = name;
        }
        public Node AddNode(string name)
        {
            var rv = new Node(name);
            this.Children.Add(rv);
            return rv;
        }
        Node _parent;
        public Node Parent
        {
            get
            {
                return _parent;
            }
            set
            {
                if (Parent != null || value == null)
                {
                    Parent.Children.Remove(this);
                }
                else
                {
                    value.Children.Add(this);
                }
                _parent = value;
            }
        }
        public string Name { get; set; }
        NodeCollection _children;
        public override string ToString()
        {
            var rv = new StringBuilder(Name);
            foreach (Node ch in Children)
            {
                SubNodeToString(ch, rv);
            }
            return rv.ToString();
        }
        public int Level
        {
            get
            {
                return Parent != null ? this.Parent.Level + 1 : 0;
            }
        }
        void SubNodeToString(Node n, StringBuilder sb)
        {
            sb.Append("\n" + repeat("\t", n.Level));
            sb.Append(n.Name);
            sb.Append(string.Format(" (Parent: {0})", n.Parent.Name));
            foreach (Node ch in n.Children)
            {
                SubNodeToString(ch, sb);
            }
        }
        string repeat(string s, int count)
        {
            var rv = new StringBuilder();
            for (int i = 0; i < count; i++) { rv.Append(s); };
            return rv.ToString();
        }
        public NodeCollection Children
        {
            get
            {
                return _children;
            }
        }
        public class NodeCollection : System.Collections.ObjectModel.Collection<Node>
        {
            internal NodeCollection(Node owner)
            {
                _owner = owner;
            }
            Node _owner;
            protected override void InsertItem(int index, Node item)
            {
                if (!this.Contains(item))
                {
                    base.InsertItem(index, item);
                    item._parent = _owner;
                }
            }
            protected override void RemoveItem(int index)
            {
                this[index]._parent = null;
                base.RemoveItem(index);
            }
        }
    }
}
класс формирует древовидную структуру,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var root = new Node("root");
            var c1 = root.AddNode("child1");
            var c2 = root.AddNode("child2");
            var c1_1 = c1.AddNode("child1_1");
            var c1_2 = c1.AddNode("child1_2");
            var c2_1 = new Node("child2_1");
            c2_1.Parent = c2;
            var c2_2 = c2.AddNode("child2_2");
            Console.Write(root.ToString());
            Console.WriteLine("\n");
            Console.WriteLine("Удаляем узлы\n");
            c2.Children.Remove(c2_2);
            c2_1.Parent = null;
            Console.WriteLine(root.ToString());
            Console.ReadKey();
задача состоит в следующем, нужно сформированное дерево преобразовать в object или строку, передать клиенту(с этим я справлюсь), затем у клиента из object или строки опять получить древовидную структуру
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2013, 20:46
Ответы с готовыми решениями:

Не удается неявно преобразовать тип "UnsafeStack.Node" в "UnsafeStack.Node*" - как исправить?
Узел: namespace UnsafeStack { public unsafe struct Node { public int value; ...

Преобразовать заглавные буквы в строчные и наоборот с использованием таблицы символов
Всем привет! Не подскажете как, допустим в слове &quot;ПриВеТ&quot;, преобразовать заглавные буквы в строчные...

Быстрые алгоритмы сборки байтового массива в строку и наоборот
Всем привет! Народ не поделитесь быстрым алгоритмом сборки байтового массива из строки (только...

Преобразовать строку
Дано целое число N (&gt; 0) и строка S. Преобразовать строку S в строку длины N следующим образом:...

119
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
08.03.2013, 11:06 41
Author24 — интернет-сервис помощи студентам
Psilon, это не проблема 3.5 фреймфорка,это из-за конфликта генерированного кода.

Does one of your classes implement ICollection<> directly and you added an XmlArrayItemAttribute when you contain it in another collection? I had a similar problem and I resolved it by implementing ICollection in addition to the templated ICollection<>.

For an ICollection<> implementation, the serializer generates code that use the enumerator and assigns it to a local variable 'e'.
линк

я бы не назвал это багом,лучше изменить решение и все будет ок)
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.03.2013, 11:16 42
Noob.net, фнутренная ошибка фреймворка == баг, не?
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 12:37  [ТС] 43
Цитата Сообщение от hepper Посмотреть сообщение
по поводу ошибки - попробуй сериализовать один и тот же тестовый объект на сервере и клиенте и сравни их побайтно в какой нибудь внешней проге.... и еще раз сверь классы нас сервере и клиенте...

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

Добавлено через 23 минуты
создал объект на сервере new Node("coord"), сериализировал, получил:
AAEAAAD/////AQAAAAAAAAAMAgAAADtOb2RlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj S2V5VG9rZW49bnVsbAUBAAAAD0N1c3RvbVRyZWUuTm9kZQMAAAAHX3BhcmVudAlfY2hpbGRyZW4VPE5h bWU+a19fQmFja2luZ0ZpZWxkBAQBD0N1c3RvbVRyZWUuTm9kZQIAAAAeQ3VzdG9tVHJlZS5Ob2RlK05v ZGVDb2xsZWN0aW9uAgAAAAIAAAAKCQMAAAAGBAAAAAVjb29yZAUDAAAAHkN1c3RvbVRyZWUuTm9kZStO b2RlQ29sbGVjdGlvbgIAAAAGX293bmVyEkNvbGxlY3Rpb25gMStpdGVtcwQDD0N1c3RvbVRyZWUuTm9k ZQIAAABxU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tDdXN0b21UcmVlLk5vZGUsIE5v ZGUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0C AAAACQEAAAAJBgAAAAQGAAAAcVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbQ3VzdG9t VHJlZS5Ob2RlLCBOb2RlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5 VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAARQ3VzdG9tVHJlZS5Ob2RlW10C AAAACAgJBwAAAAAAAAAAAAAABwcAAAAAAQAAAAAAAAAED0N1c3RvbVRyZWUuTm9kZQIAAAALAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

создал объект на клиенте new Node("coord"), сериализировал, получил:
AAEAAAD/////AQAAAAAAAAAMAgAAAAROb2RlBQEAAAAPQ3VzdG9tVHJlZS5Ob2RlAwAAAAdfcGFyZW50CV9jaGlsZHJl bhU8TmFtZT5rX19CYWNraW5nRmllbGQEBAEPQ3VzdG9tVHJlZS5Ob2RlAgAAAB5DdXN0b21UcmVlLk5v ZGUrTm9kZUNvbGxlY3Rpb24CAAAAAgAAAAoJAwAAAAYEAAAABWNvb3JkBQMAAAAeQ3VzdG9tVHJlZS5O b2RlK05vZGVDb2xsZWN0aW9uAwAAAAZfb3duZXIRQ29sbGVjdGlvbmAxK2xpc3QVQ29sbGVjdGlvbmAx K3N5bmNSb290BAMCD0N1c3RvbVRyZWUuTm9kZQIAAAByU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMu SUxpc3RgMVtbQ3VzdG9tVHJlZS5Ob2RlLCBOb2RlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1 dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAgAAAAkBAAAACQUAAAAJBQAAAAQFAAAAcVN5c3RlbS5D b2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbQ3VzdG9tVHJlZS5Ob2RlLCBOb2RlLCBWZXJzaW9uPTEu MC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3Np emUIX3ZlcnNpb24EAAARQ3VzdG9tVHJlZS5Ob2RlW10CAAAACAgJBgAAAAAAAAAAAAAABwYAAAAAAQAA AAAAAAAED0N1c3RvbVRyZWUuTm9kZQIAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

как вы видите сериализируются кажется одинаково

Добавлено через 10 минут
причём если делать на клиенте, то тоже всё отлично передаёться и десериализируеться
вероятно ошибка в передасе возникает или при конвертировании в строку, но тогда вопрос, почему на клиенте не работает, а вернувши на сервер этот же самый код десериализируеться

Добавлено через 2 минуты
Цитата Сообщение от hepper Посмотреть сообщение
по поводу ошибки - попробуй сериализовать один и тот же тестовый объект на сервере и клиенте и сравни их побайтно в какой нибудь внешней проге.... и еще раз сверь классы нас сервере и клиенте...

и еще, мб нужно описать вручную параметры сериализациии? т.к. все равно передаешь данные которые можно к строке легко привести...
хотя вообще то вы правы, почему то один и тот же обьект на сервере и на клиенте сериализируются по разному, а как это исправить??
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.03.2013, 12:47 44
Попробуйте наоборот: сериализовать на клиенте, десериализовать на сервере, Если будет ошибка, значит классы различаются, все просто.
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 13:00  [ТС] 45
Цитата Сообщение от Psilon Посмотреть сообщение
Попробуйте наоборот: сериализовать на клиенте, десериализовать на сервере, Если будет ошибка, значит классы различаются, все просто.
как же они могут различаться, если dll одна??
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.03.2013, 13:03 46
kelod, проверьте, мало ли, где какие связи забыли.
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 14:13  [ТС] 47
Цитата Сообщение от Psilon Посмотреть сообщение
kelod, проверьте, мало ли, где какие связи забыли.
да я вроде всё удалил, в отдельном файле класс был

Добавлено через 42 минуты
вот тут человек говорил про параметры сериализации , это что такое???
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.03.2013, 14:23 48
kelod, погуглите про атрибуты сериализации на msdn. Хотя они тут не при чем.
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 17:17  [ТС] 49
Цитата Сообщение от Psilon Посмотреть сообщение
kelod, погуглите про атрибуты сериализации на msdn. Хотя они тут не при чем.
удалил ссылку, очистил решение, добавил ссылку на файл клиента, перестроился, всё равно разные байты
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
08.03.2013, 18:00 50
Цитата Сообщение от kelod Посмотреть сообщение
как вы видите сериализируются кажется одинаково
действительно - кажется...


тут где то вроде ще темка похожая была... человек писал что тож не получается десериализовать - получилось что разные dll-ки были.. на клиенте вроде как две разных версий....


и еще попробуй сделать для сериализации простой класс, типа

C#
1
2
3
4
class SomeClass
{
public List<Node> ListNode;
}
и попробовать с ним слать...

Добавлено через 8 минут
мб это поможет http://brtrg.com/blog/post/542
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 22:02  [ТС] 51
удалил все созданные dll , создал новый проект, создал библиотеку, добавил её к серверу и клиенту, не чего не поменялось как была ошибка так и есть

Добавлено через 14 минут
Цитата Сообщение от hepper Посмотреть сообщение
действительно - кажется...


тут где то вроде ще темка похожая была... человек писал что тож не получается десериализовать - получилось что разные dll-ки были.. на клиенте вроде как две разных версий....


и еще попробуй сделать для сериализации простой класс, типа

C#
1
2
3
4
class SomeClass
{
public List<Node> ListNode;
}
и попробовать с ним слать...

Добавлено через 8 минут
мб это поможет http://brtrg.com/blog/post/542

запустил ваш класс получаю вот это
System.Runtime.Serialization.SerializationException: Unexpected binary element: 0
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (BinaryElement element, System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0

Добавлено через 16 минут
хотя нет, всё нормально с тем классом, это я не туда его добавил просто
вот что выводит в юнити
CustomTree.SomeClass
UnityEngine.Debug:Log(Object)
а вот дерево не хочет передавать , всё передаёт, даже вложенные структуры, кроме класса Node
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
08.03.2013, 22:34 52
выложи весь класс сюда
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
08.03.2013, 23:02  [ТС] 53
Цитата Сообщение от hepper Посмотреть сообщение
выложи весь класс сюда
так от выложен давно, хорошо щас продублирую

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace CustomTree
{
 
 
    /*  class Program
        {
            static void Main(string[] args)
            {
                var root = new Node("root");
                var c1 = root.AddNode("child1");
                var c2 = root.AddNode("child2");
                var c1_1 = c1.AddNode("child1_1");
                var c1_2 = c1.AddNode("child1_2");
                var c2_1 = new Node("child2_1");
                c2_1.Parent = c2;
                var c2_2 = c2.AddNode("child2_2");
                Console.Write(root.ToString());
                Console.WriteLine("\n");
                Console.WriteLine("Удаляем узлы\n");
                c2.Children.Remove(c2_2);
                c2_1.Parent = null;
                Console.WriteLine(root.ToString());
                Console.ReadKey();
            }
        }*/
    [Serializable]
    public class SomeClass
    {
        public List<Node> ListNode;
    }
 
 
    [Serializable]
    public class Node
    {
        public Node()
        {
            _children = new NodeCollection(this);
        }
 
        public Node(string name)
        {
            _children = new NodeCollection(this);
            this.Name = name;
        }
        public Node AddNode(string name)
        {
            var rv = new Node(name);
            this.Children.Add(rv);
            return rv;
        }
        Node _parent;
        public Node Parent
        {
            get
            {
                return _parent;
            }
            set
            {
                if (Parent != null || value == null)
                {
                    Parent.Children.Remove(this);
                }
                else
                {
                    value.Children.Add(this);
                }
                _parent = value;
            }
        }
        public string Name { get; set; }
        NodeCollection _children;
        public override string ToString()
        {
            var rv = new StringBuilder(Name);
            foreach (Node ch in Children)
            {
                SubNodeToString(ch, rv);
            }
            return rv.ToString();
        }
        public int Level
        {
            get
            {
                return Parent != null ? this.Parent.Level + 1 : 0;
            }
        }
        void SubNodeToString(Node n, StringBuilder sb)
        {
            sb.Append("\n" + repeat("\t", n.Level));
            sb.Append(n.Name);
            sb.Append(string.Format(" (Parent: {0})", n.Parent.Name));
            foreach (Node ch in n.Children)
            {
                SubNodeToString(ch, sb);
            }
        }
        string repeat(string s, int count)
        {
            var rv = new StringBuilder();
            for (int i = 0; i < count; i++) { rv.Append(s); };
            return rv.ToString();
        }
        public NodeCollection Children
        {
            get
            {
                return _children;
            }
            set { }//
        }
 
        [Serializable]
        public class NodeCollection : System.Collections.ObjectModel.Collection<Node>
        {
            public NodeCollection(Node owner)
            {
                _owner = owner;
            }
            Node _owner;
            protected override void InsertItem(int index, Node item)
            {
                if (!this.Contains(item))
                {
                    base.InsertItem(index, item);
                    item._parent = _owner;
                }
            }
            protected override void RemoveItem(int index)
            {
                this[index]._parent = null;
                base.RemoveItem(index);
            }
        }
    }
}
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
08.03.2013, 23:23 54
я имел ввиду с методами сериализации и подготовки к отправке...
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
09.03.2013, 13:55  [ТС] 55
Цитата Сообщение от hepper Посмотреть сообщение
я имел ввиду с методами сериализации и подготовки к отправке...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CustomTree;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
 
 
namespace PhotonGame
{
 
    
    public class Options
    {
        public const int replyCon = 3;  //период проверки подключения к серверу в секундах
        //БД
        public static string bdDS = "localhost";
        public static string bdUser = "root";
        public static string bdPass = "";
        public static string bdname = "";
 
 
         
 
 
        
        public static byte[] coordb 
        {
            get
            {
                MemoryStream stream = new MemoryStream();
                BinaryFormatter formatter = new BinaryFormatter();
                try
                {
                    var root = new Node("root");
                    var c1 = root.AddNode("child1");
                    var c2 = root.AddNode("child2");
                    var c1_1 = c1.AddNode("child1_1");
                    var c1_2 = c1.AddNode("child1_2");
                    var c2_1 = new Node("child2_1");
                    formatter.Serialize(stream, root);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
 
                //stream.Position = 0;
                //Get byte array
                //byte[] buffer = stream.ToArray();
                byte[] b = stream.GetBuffer();
                stream.Close();
                return b;
                
            }
            set 
            {
                
            }
        }
 
        private static Node Coord = new Node("coord");  //координаты появления игроков на картах
 
        public static Node coord
        {
            get
            {
                return Coord;
            }
            set
            {
                Coord = value;
            }
        }
 
        private Options() 
        {
           
            
        }
    }
}
Добавлено через 14 часов 29 минут
и все затихли....
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
09.03.2013, 14:14 56
надо допилить класс Ноде. сделать метод чтоб он себя запихивал в строку. например добавить поля-шифр к каждому ноду, и в строку писать ид-лвл-нэйм-.... потом данный объект добавлять в список и слать, а из него восстановить в исходную структуру.... или если класс должен быть только такого вида попробуй http://www.codeproject.com/scr... 21_src.zip мб получится
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
09.03.2013, 14:27  [ТС] 57
Цитата Сообщение от hepper Посмотреть сообщение
надо допилить класс Ноде. сделать метод чтоб он себя запихивал в строку. например добавить поля-шифр к каждому ноду, и в строку писать ид-лвл-нэйм-.... потом данный объект добавлять в список и слать, а из него восстановить в исходную структуру.... или если класс должен быть только такого вида попробуй http://www.codeproject.com/scr... 21_src.zip мб получится
как допилить класс я не знаю, знал бы не пришёл сюда с вопросом, какой будет клас мне всё равно, главное что бы было дерево, шустрое и не требующее больших ресурсов, полее подробно я описал выше
за статью конечно спасибо, но я не настолько хорошо знаю английский что бы там хоть немного разобраться, а там столько всего написано.....
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
09.03.2013, 19:49 58
там не статья, там файлик, сериализацию делает нормальную
0
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 478
09.03.2013, 20:08  [ТС] 59
Цитата Сообщение от hepper Посмотреть сообщение
там не статья, там файлик, сериализацию делает нормальную
у меня появляется статья назавающаяся Optimizing Serialization in .NET
под заголовком 4 файла на выбор
а дальше статья какая у них хорошая оптимизация и как ей пользоваться, но там всё по английски и половина мне не понятно
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
09.03.2013, 20:25 60
вот это попробуй. это из статьи
Вложения
Тип файла: zip FastSerializer22_src.zip (115.6 Кб, 8 просмотров)
1
09.03.2013, 20:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2013, 20:25
Помогаю со студенческими работами здесь

Преобразовать строку
добрый день, знаю, тема заезженная, но походу у меня руки из ж*пы ((( есть такая строка я ее...

Преобразовать строку в массив
Привет всем, у меня есть вот такой код: WebClient client = new WebClient(); ...

Преобразовать строку в int
Есть файл: 13 23 41 12 32 0 2 4

Преобразовать строку в дату
Помогите пожалуйста не могу сделать, как преобразовать время в строку,работаю c Excel, надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru