2 вопроса по C#

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
Доброго времени.
Ситуация такая - есть определенный текст, лежит в переменной. Его нужно взять и преобразовать в читабельный вид, а после положить в переменную.
1) как сделать чтобы C# брал значение из переменной? Открываю код C#, Правой кнопкой установить значение из переменной и добавляется строка project.Variables["peremennaya"].Value
2) вот подсказали функцию для расшировки, теперь надо состряпать код по преобразованию я так понимаю, потому что отдельно эти 2 строки не воспроизводятся.

var encoded = "0412043004480020043D043E043C04350440002004420435043B04350444043E043D0430003A002B0037003900310036003200380032003900"; // текст который требуется расшифровать(будем брать из переменной)
var decoded = Regex.Unescape(Regex.Replace(encoded , "([0-9A-F]{4})", @"\u$1"));

var encoded = "project.Variables["peremennaya"].Value";
var decoded = Regex.Unescape(Regex.Replace(encoded , "([0-9A-F]{4})", @"\u$1"));

Правильно ли во втором случае или нет?
 

volody00

Client
Регистрация
06.09.2016
Сообщения
917
Благодарностей
950
Баллы
93
может быть так:
var encoded = project.Variables["peremennaya"].Value;
var decoded = Regex.Unescape(Regex.Replace(encoded , "([0-9A-F]{4})", @"\u$1"));
project.Variables["peremennaya"].Value = decoded;
 
  • Спасибо
Реакции: loka23

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
может быть так:
var encoded = project.Variables["peremennaya"].Value;
var decoded = Regex.Unescape(Regex.Replace(encoded , "([0-9A-F]{4})", @"\u$1"));
project.Variables["peremennaya"].Value = decoded;

Код:
using System;
using System.Globalization;
                    
public class Program
{
    public static void Main()
    {
        var encoded = project.Variables["peremennaya"].Value;
        var decoded = "";
        for (var i = 0; i < encoded.Length; i += 4)
        decoded += (char)ushort.Parse(encoded.Substring(i, 4), NumberStyles.HexNumber);
        Console.WriteLine(decoded);
        project.Variables["rasshifrovan"].Value = decoded; 

    }
}
Что то не хочет работать... может как то надо в шаблон директивы юзинг добавить? У меня какие то есть юзинги в шаблоне, но может не хватает чего то...
 

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
Более того, после выполнения данного C# кода, все остальные в шаблоне не хотят работать.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
917
Благодарностей
950
Баллы
93
Более того, после выполнения данного C# кода, все остальные в шаблоне не хотят работать.
код надо поместить в кубик c#, не в общий код https://zennolab.com/wiki/ru:progs_run. В переменной должно быть 0412043004480020043D043E043C04350440002004420435043B04350444043E043D0430003A002B0037003900310036003200380032003900
 

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
код надо поместить в кубик c#, не в общий код https://zennolab.com/wiki/ru:progs_run. В переменной должно быть 0412043004480020043D043E043C04350440002004420435043B04350444043E043D0430003A002B0037003900310036003200380032003900
Так это понятное дело, C# в соответствуещем кубике и находтся отдельно от других на время тестирования. В переменной такое значение и стоит. Сам C# не работает. Более того, после попытки произвести этот C#, другие не работают совсем. Не знаю что уж этот код правит в шаблоне...

И у меня кстати в экшне C# нет функции тестирования. В докумендации же она должна быть.
 

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
Вычитал что C# берет переменные только из самого C#(если это уже в выполнении). Потому нужно объявить переменную заранее. Но ничего не выходит все равно....

Код:
using System;
using System.Globalization;
                   
public class Program
{
    public static void Main()
    var code = project.Variables["numberzashifrovan"].Value;
   
    try
    {
        var encoded = code;
        var decoded = "";
        for (var i = 0; i < encoded.Length; i += 4)
        decoded += (char)ushort.Parse(encoded.Substring(i, 4), NumberStyles.HexNumber);
        Console.WriteLine(decoded);
        project.Variables["rasshifrovan"].Value = decoded;

    }
}
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
Вычитал что C# берет переменные только из самого C#(если это уже в выполнении). Потому нужно объявить переменную заранее. Но ничего не выходит все равно....
куда берет ? :dz: помедленнее я записываю
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
это что код из визуал студио ? вот прям так скопировали и заработало.... не не ... тут надо понимать что к чему
 

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
куда берет ? :dz: помедленнее я записываю
С# будет работать по умолчанию только с переменными которые в нём есть. Из зеннопостера он не сможет брать переменные. Для этого назначать нужно вначале чтобы переменные в C# брались из шаблона. Я так понял.
Вы бы помогли, а не смеялись :-) Всё же раздел соответствующий.

это что код из визуал студио ? вот прям так скопировали и заработало.... не не ... тут надо понимать что к чему
саму функцию посоветовали на другом ресурсе, а собирал уже все на онлайн сайте(https://dotnetfiddle.net/). В нём работает и выдает правильное значение.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
С# будет работать по умолчанию только с переменными которые в нём есть. Из зеннопостера он не сможет брать переменные. Для этого назначать нужно вначале чтобы переменные в C# брались из шаблона. Я так понял.
Вы бы помогли, а не смеялись :-) Всё же раздел соответствующий.
а чем помочь ? могу только пинуть сюда, изучайте наздоровье.
тем более сразу после топика есть ответ. вроде даже рабочий.
 

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
а чем помочь ? могу только пинуть сюда, изучайте наздоровье.
тем более сразу после топика есть ответ. вроде даже рабочий.
Раздел он на то так и называется, чтобы просить помощи. Не понимаю смысла вашего посещения данной темы. Если есть чем подсказать - подскажите.
Ссылку на уроки C# скинуть это не помощь. Если следовать вашей логике, то этого раздела вообще быть не должно. Все ответы есть в документациях\книгах\гугле\библиотеках и т.п.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
саму функцию посоветовали на другом ресурсе, а собирал уже все на онлайн сайте(https://dotnetfiddle.net/). В нём работает и выдает правильное значение.
ну в таком случает и надо ее выполять на том сайте. раз там все работает :-)
даже если все это запихать в общий код , работать не будет. функция Main объявлена хрен знает как. Console в зенке отсутствует от слова совсем.
К переменным зенки таким образом конечно не обратиться. класс то не передан в функцию.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
Раздел он на то так и называется, чтобы просить помощи. Не понимаю смысла вашего посещения данной темы. Если есть чем подсказать - подскажите.
Ссылку на уроки C# скинуть это не помощь. Если следовать вашей логике, то этого раздела вообще быть не должно. Все ответы есть в документациях\книгах\гугле\библиотеках и т.п.
помочь и сделать работу за человека как бы разные вещи. если нужна помощь в решении, то здесь только в виде пинков в нужном направлении. потом спасибо скажете.
а если нужен готовый код , то разделом ошиблись. под ваши нужды вам сюда.
и еще раз напишу. вот же человек ответил нормальным кодом. тык.
 
  • Спасибо
Реакции: loka23

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
помочь и сделать работу за человека как бы разные вещи. если нужна помощь в решении, то здесь только в виде пинков в нужном направлении. потом спасибо скажете.
а если нужен готовый код , то разделом ошиблись. под ваши нужды вам сюда.
Я не просил сделать за меня. Просил именно подсказать что не так в коде.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)