Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Help, please новенькому в С# (старенькому в С++). В С++ разбирая строку конечным автоматом я пишу: struct TRANSITION{ int State; // состояние автомата int Class; // класс входного символа int Next; // следующее состояние void (*f)(); // указатель на функцию, выполняемую при переходе } // затем инициализирую таблицу переходов автомата static TRANSITION tr[]={ {1,DIGIT,2,f1}, {2,3,SMALL_LETTER,7}, .................... }; Как это может выглядеть в С#? Здесь 2 вопроса: 1) как инициализировать массив структур 2) как засунуть делегата в инициализацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 12:34 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 13:56 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Спасибо, понял. Сейчас попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 14:08 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
К сожалению, текст delegate void TranFun(); struct TRANSITION { int State; int Next; byte Class; TranFun f; TRANSITION(int State,int Next,byte Class,TranFun f) { this.State=State; this.Class=Class; this.Next=Next; this.f=f; } }; private static void dummy(){} TRANSITION [] tr= new TRANSITION [2]= { new TRANSITION(1,2,DIGIT, new Formula.TranFun(dummy)), new TRANSITION(2,2,cUPPER,new Formula.TranFun(dummy)) } Выдает ошибки типа Class, struct or interface method must have return type. Это по поводу строки new TRANSITION(1,2,DIGIT, new Formula.TranFun(dummy)), есть и другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 15:08 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
честно говоря код набивал в бровзере по-этому и с ошибками...ну ты с ними справился, или все же нужно оторктировать мне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 15:17 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Ответь, пожалуйста, если не очень трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:00 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:26 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
Но ведь это точное повторение моего текста, а он выдаёт ошибки. Может быть у вас хватит терпения посмотреть полный текст класса? - ошибка может быть вызвана окружающим контестом. Я помещу его на форум когда вернусь с работы домой - через пару часов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:32 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
// Это почти полный текст // взгляни пожалуйста ещё раз using System; namespace ChemicalEquation { /// <summary> /// Summary description for Formula. /// </summary> struct ELEMENT { String Name; int LeftCount,RightCount; }; struct TRANSITION { int State; int Next; byte Class; TranFun f; TRANSITION(int State,int Next,byte Class,TranFun f) { this.State=State; this.Class=Class; this.Next=Next; this.f=f; } }; public class Formula { private const int MAXELEMENT=20; private const byte cUPPER=0; private const byte cLOWER=1; private const byte DIGIT=2; private const byte LEFT_BRACKET=3; private const byte RIGHT_BRACKET=4; private const byte PLUS=5; private const byte EQUAL=6; private const byte OTHER=7; private ELEMENT [] Elm=new ELEMENT[MAXELEMENT]; private int nElm; // number of elements private int State; private String Input; private byte Classify(char z) { if(z>='A' && z<='Z')return cUPPER; if(z>='a' && z<='z')return cLOWER; if(z>='0' && z<='9')return DIGIT; if(z=='(' || z=='[') return LEFT_BRACKET; if(z==')' || z==']') return RIGHT_BRACKET; if(z=='=') return EQUAL; return OTHER; } public Formula(String inp) { Input=inp; State=1; nElm=0; } delegate void TranFun(); private static void dummy(){} TRANSITION [] tr= new TRANSITION [2]= { new TRANSITION(1,DIGIT,2, new Formula.TranFun(dummy)), new TRANSITION(2,cUPPER,2,new Formula.TranFun(dummy)) } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 16:56 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
концовка должна быть такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 17:15 |
|
||
|
инициировать массив структур
|
|||
|---|---|---|---|
|
#18+
куда то странным образом при вставке делось еще одно Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 17:17 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32801262&tid=1437803]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
128ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 421ms |

| 0 / 0 |
