Задать вопрос
  • Как записать два параметра в тело HTTP запроса?

    Примерно так:
    $.ajax({
                        url: 'get-list'
                        type: 'POST',
                        data: { 'begin': 1, 'amount': 2},
                        dataType: 'text',
                        cache: false
                    })
    Ответ написан
    Комментировать
  • EntityFrameWork - миграция для добавления колонки?

    Надо уточнять model/db first, но судя по всему model. Такие вещи обычно руками не пишут, а используют Add-Migration -Name AddFieldAvatarToUsersTable.
    Ну а по сути вопроса:

    AddColumn("dbo.users", "avatar", c => c.string(nullable: false, defaultValueSql: "default.jpg"));

    и

    DropColumn("dbo.users", "avatar");
    Ответ написан
    2 комментария
  • ASP.MVC выполнение/подключение скриптов - Section already defined: "Menu". - что это означает?

    Структура страницы обычно задается в файле _Layout.cshtml (может быть задан непосредственно в виде или контроллере), там указывается какие секции могут/должны быть отрендерены и где (@RenderSection("scripts", required: false)). При рендеринге страницы секция с одним и тем же именем не может встречаться более одного раза. Вероятно у Вас определение секции (@section Menu) встречается несколько раз. Проверьте какой используется Layout, какие секции там определены и нет ли повторений этих секций в Layout, View и Partial View используемых при рендеринге этой страницы.
    Ответ написан
    Комментировать
  • Как делать EF миграции бд на сервере Asp.net?

    Читать про инициализатор MigrateDatabaseToLatestVersion, попробуй начать с этого.

    Если в кратко:
    AutomaticMigrationsEnabled = false;
    Миграции должны быть именованными и сохранятся в проекте в виде файлов, что бы быть скомпилированными и присутствовать в сборке: "Add-Migration -Name v1".
    при публикации устанавливаем флажок "Execute code first migrations (runs on application start)" или добавляем в раздел entityFramework->contexts описание нужного DbContext с описанием инициализатора (Пример с нужным нам MigrateDatabaseToLatestVersion в самом конце страницы).
    Ответ написан
    Комментировать
  • Не получается получить все положительные числа из массива. Что не так?

    Может уже пора на LINQ ?

    int[] num = { 5, -7, -1, 3, 9};
    Console.WriteLine("Сумма всех положительных чисел: {0}",  num.Where(i => i > 0).Sum());
    Ответ написан
    2 комментария
  • Как сделать публичный репозиторий в Visual Studio Team Service?

    На сайте visualstudio.com Вы можете добавить до 5 членов (в бесплатной версии) к любому проекту и раздать им соответствующие права на репозитории, публичных репозиториев как таковых там нет.
    Но замечу, что TeamExplorer в Visual Studio замечательно работает с github.com и публичные проекты лучше размещать там.
    Ответ написан
    Комментировать
  • Почему не удаляет xml элемент(LINQ to XML)?

    Так не пойдет, нельзя менять коллекцию при её перечислении.

    foreach(var n in myOwner.xmlDoc.Descendants("links")
                        .Elements("link")
                        .Where(x => x.Value == listBoxLinks.SelectedItem)
                       .ToList())
    {
                       n.Remove();
    }
    Ответ написан
    Комментировать
  • Как эффективно создать "бесконечную" строку?

    Конечно аналитически найти индекс это true path, но сделать "в лоб" тоже можно. Для str = "123456798" ответ получишь через 3 минуты :)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace FindString
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str = "123456798";
                string buf = string.Concat(Generator.All().Take(str.Length));
    
                ulong index = 0;
                foreach (var c in Generator.All().Skip(str.Length))
                {
                    if (buf == str)
                    {
                        break;
                    }
    
                    buf = buf.Substring(1) + c;
                    ++index;
                }
    
                Console.WriteLine("index is {0}", index);
                Console.ReadKey();
            }
        }
    
        public class Generator
        {
            public static IEnumerable<char> All()
            {
                ulong v = 0;
                while(true)
                {
                    ++v;
                    foreach(var c in v.ToString().ToCharArray())
                    {
                        yield return c;
                    }
                }
            }
        }
    }
    Ответ написан
    Комментировать
  • Печатные формы документов (счёт, акт, СФ, УПД) с помощью чего вы их делаете?

    pdf генерирую из xml документов с помощью xsl-fo. Получить пиксель-пёрфект не сложнее чем сверстать в html.
    Ответ написан
  • Как из строки вытащить действие над числом?

    Обычно для разбора не пишут свои велосипеды, а используют генераторы лексических анализаторов Lex (.net аналог GPLEX) и используют совместно с генератором синтаксических анализаторов yacc (.net аналог GPPG) .

    Можно посмотреть пример.
    Ответ написан
    2 комментария
  • В каких случая использовать обобщенные коллекции ICollection, IList, List?

    Про интерфейсы IEnumerable и IQueryable почитай мой ответ тут.

    Интерфейс ICollection наследуется от IEnumerable и подразумевает, что реализующие его классы умеют эффективно вставлять и удалять элементы.

    Интерфейс IList наследуется от ICollection и подразумевает, что реализующие его классы умеют предоставлять доступ к элементу по индексу.

    List это конкретный класс, который реализует интерфейсы IList, ICollection т.е. подразумевается, что он умеет эффективно вставлять/удалять и давать доступ по индексу.

    Попробую на пальцах когда и что использовать...
    Функция получает:
    IEnumerable - подразумевается, что ты только перебираешь элементы.

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

    ICollection - ты уверен, что хочешь что то добавить или удалить в коллекции в этой функции ? Один из звоночков, что с архитектурой могут быть проблемы.

    IList - а ты уверен что тебе очень критично иметь доступ по индексу в этой функции ? Второй звоночек про архитектуру.

    List - работаю только со списками и не пытайтесь дать мне другой контейнер.

    Функция возвращает:
    IEnumerable - никаких обещаний, пусть клиенты рассчитывают только на перебор.

    IQueryable в функции запрос (например к дб) фактически не выполняется и клиенты могут попытаться его дополнить условиями, что бы с базы шло меньше данных.

    ICollection - ты возвращаешь коллекцию путь кто хочет тот и добавляет и удаляет в ней элементы.

    IList - ты уже создал в функции соответствующую коллекцию, возможно кому то понадобится доступ по индексу.

    List - да мне наc..ть на интерфейсы создал список - отдал список и я всегда буду создавать список, даже если мне потребуется создать последовательность из 100500 миллионов элементов.
    Ответ написан
    Комментировать
  • Как посчитать количество одинаковых элементов в строчке и вывести первый?

    Вариант на Linq, Extension methods и generic (можно использовать с любым типом массивов).

    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    
    namespace easyMatrix
    {
        class Program
        {
            static void Main(string[] args)
            {
                var arr = GetTestArray();
    
                // Вывод массива
                for (int i = 0; i < arr.GetLength(0); i++)
                {
                    Console.WriteLine(string.Join(" ", arr.GetRow(i).Select(item => item.Value)));
                }
                Console.WriteLine();
                
                
                foreach(var row in arr.GetAllRows())
                { 
                    foreach (var range in row.Split((cur, next) => cur.Value != next.Value))
                    {
                        Console.WriteLine("- [{0} {1}] {2} {3}", range.Item1.Row + 1, range.Item1.Col + 1, range.Item1.Value, range.Item2);
                    }
                }
    
                foreach (var col in arr.GetAllCols())
                {
                    foreach (var range in col.Split((cur, next) => cur.Value != next.Value))
                    {
                        Console.WriteLine("| [{0} {1}] {2} {3}", range.Item1.Row + 1, range.Item1.Col + 1, range.Item1.Value, range.Item2);
                    }
                }
    
                foreach (var d in arr.GetAllRightDioganals())
                {
                    foreach (var range in d.Split((cur, next) => cur.Value != next.Value))
                    {
                        Console.WriteLine("\\ [{0} {1}] {2} {3}", range.Item1.Row + 1, range.Item1.Col + 1, range.Item1.Value, range.Item2);
                    }
                }
    
                foreach (var d in arr.GetAllLeftDioganals())
                {
                    foreach (var range in d.Split((cur, next) => cur.Value != next.Value))
                    {
                        Console.WriteLine("/ [{0} {1}] {2} {3}", range.Item1.Row + 1, range.Item1.Col + 1, range.Item1.Value, range.Item2);
                    }
                }
    
                Console.WriteLine();
                var lookup = arr.GetRow(0).ToLookup(c => c.Value);
    
                Console.WriteLine("Lookup второй строки:");
                foreach (var g in lookup)
                {
                    Console.WriteLine("'{0}' {1}", g.Key, g.Count());
                }
                Console.WriteLine();
    
                var group = lookup.OrderByDescending(g => g.Count()).First();
                Console.WriteLine("Максимальное количество вхождений {0} обнаружено для символа '{1}'", group.Count(), group.Key);
    
                Console.WriteLine("Обчщее количество повторяющихся символов {0}", lookup.Where(g => g.Count() > 1).Sum(s => s.Count()));
    
    
                Console.ReadKey();
            }
    
            public static Char[,] GetTestArray()
            {
                var lst = new string[]{
                    "b=b==",
                    "1b2ba",
                    "c4b++",
                    "5cab+"
                };
    
                Char[,] arr = new Char[lst.Count(), lst.First().Length];
    
                for (int rowIndex = 0; rowIndex < lst.Count(); ++rowIndex)
                {
                    var row = lst[rowIndex];
    
                    for (int colIndex = 0; colIndex < lst.First().Length; ++colIndex)
                    {
                        arr[rowIndex, colIndex] = row.ElementAt(colIndex);
                    }
                }
    
                return arr;
            }
        }
    
        public static class IEnumerableExtension
        {
            public static IEnumerable<Tuple<T, int>> Split<T>(this IEnumerable<T> items, Func<T, T, bool> separator)
            {
                T p = items.First();
                int cnt = 0;
                foreach (var item in items)
                {
                    if (separator(p, item))
                    {
                        if (cnt > 1)
                        {
                            yield return Tuple.Create(p, cnt);
                        }
    
                        p = item;
                        cnt = 1;
                    }
                    else
                    {
                        ++cnt;
                    }
                }
    
                if (cnt > 1)
                {
                    yield return Tuple.Create(p, cnt);
                }
            }
        }
    
        public static class ArrayExtension
        {
            public class Item<T>
            {
                private int _row;
                public int Row { get { return _row; } }
    
                private int _col;
                public int Col { get { return _col; } }
    
                private T _value;
                public T Value { get { return _value; } }
    
                public Item(T[,] arr, int row, int col)
                {
                    Debug.Assert(row >= 0 && col >= 0 && row < arr.GetRowCount() && col < arr.GetColCount());
    
                    _value = arr[row, col];
                    _row = row;
                    _col = col;
                }
            }
    
            public static int GetRowCount<T>(this T[,] arr)
            {
                return arr.GetLength(0);
            }
    
            public static int GetColCount<T>(this T[,] arr)
            {
                return arr.GetLength(1);
            }
    
            public static IEnumerable<Item<T>> GetCol<T>(this T[,] arr, int col)
            {
                for (int i = 0; i < arr.GetRowCount(); i++)
                {
                    yield return new Item<T>(arr, i, col);
                }
            }
    
            public static IEnumerable<IEnumerable<Item<T>>> GetAllCols<T>(this T[,] arr)
            {
                for (int i = 0; i < arr.GetColCount(); i++)
                {
                    yield return arr.GetCol(i);
                }
            }
    
            public static IEnumerable<Item<T>> GetRow<T>(this T[,] arr, int row)
            {
                for (int i = 0; i < arr.GetColCount(); i++)
                {
                    yield return new Item<T>(arr, row, i);
                }
            }
    
            public static IEnumerable<IEnumerable<Item<T>>> GetAllRows<T>(this T[,] arr)
            {
                for (int i = 0; i < arr.GetRowCount(); i++)
                {
                    yield return arr.GetRow(i);
                }
            }
    
            public static IEnumerable<Item<T>> GetRightDioganal<T>(this T[,] arr, int row, int col)
            {
                while (row < arr.GetRowCount() && col < arr.GetColCount())
                {
                    yield return new Item<T>(arr, row, col);
                    ++row;
                    ++col;
                }
            }
    
            public static IEnumerable<IEnumerable<Item<T>>> GetAllRightDioganals<T>(this T[,] arr)
            {
                foreach (var item in arr.GetCol(0).Reverse().Skip(1)          // first col items skip last
                            .Concat(arr.GetRow(0).Skip(1).Reverse().Skip(1))  // first row items skip first and last
                        )
                {
                    yield return arr.GetRightDioganal(item.Row, item.Col);
                }
            }
    
            public static IEnumerable<Item<T>> GetLeftDioganal<T>(this T[,] arr, int row, int col)
            {
                while (row < arr.GetRowCount() && col >= 0)
                {
                    yield return new Item<T>(arr, row, col);
                    ++row;
                    --col;
                }
            }
    
            public static IEnumerable<IEnumerable<Item<T>>> GetAllLeftDioganals<T>(this T[,] arr)
            {
                foreach (var item in arr.GetRow(0).Skip(1)                                                   // first row items skip first
                                        .Concat(arr.GetCol(arr.GetColCount() - 1).Skip(1).Reverse().Skip(1)) // last col skip first and last
                        )
                {
                    yield return arr.GetLeftDioganal(item.Row, item.Col);
                }
            }
        }
    }
    Ответ написан
    Комментировать
  • Какое необходимо условие для выборки xpath?

    Попробуй
    var node = document.DocumentNode.SelectNodes("//tr[not(@class) and count(td) = 18]/td[@style='width:1%;' or @class='coef' or (@class='left' and .//a)]");
    Ответ написан
    3 комментария
  • Как обновить лишь часть строк в окне консоли?

    Что бы не "терять" ввод пользователя бери вот это, если нужно переставить курсор в конкретную строку то гуглим Console.CursorTop и Console.CursorLeft.
    Ответ написан
    Комментировать
  • Как вывести связанные таблицы в ASP.NET MVC?

    Обычно используют ORM например EntityFramework. Наверно стоит начать с примеров.
    Ответ написан
    Комментировать
  • Изучаю C# я часто не понимаю, как данные техники можно применять, что можно сделать?

    Думаю тебе нужна практика, практика и еще раз практика...
    Попробуй найти задания или упражнения на C#, попробуй взять готовое приложение например MusicStore и добавить/изменить некий функционал. Начинай писать свой блог например и не страшно взять что либо за основу.
    Ответ написан
    Комментировать
  • Как реализовать на ASP.NET MVC вход через Facebook, ВКонтакте и других соц. сети?

    Генерируем новое приложении по стандартному шаблону в студии. Для Facebook достаточно на Facebook зарегистрировать приложение, получить appId, appSecret подставить их в строку строку "app.usefacebookauthentication(appid: "", appsecret: "");" в StartupAuth. Для остальных ставим пакет KatanaContrib и прописываем аналогичные строки.
    Ответ написан
    6 комментариев
  • [Решено] После вставки значения из массива бесследно исчезает вторая часть строки, как ее правильно вставить?

    Не вижу имен аргументов, которые обычно указываются с использованием "-" или "/".
    Возможно должно быть:

    startInfo.Arguments = "-MainD IDD -ID "+ ED +" -RIN "+ value;

    Если это одиночный аргумент то надо помнить, что пробелы считаются разделителями между несколькими аргументами и одиночный аргумент, включающий пробелы, должен быть заключен в кавычки, которые не забываем экранировать:

    startInfo.Arguments = "-someKey \"MainD=IDD ID="+ ED +" RIN="+ value + "\"";
    Ответ написан
  • Не корректно работает сортировка. в чем ошибка?

    Порядок как раз лексикографический, а если требуется сортировать как числа то:

    lane.Select(s => int.Parse(s)).OrderByDescending(s => s);
    Ответ написан
    Комментировать