Сегодня 2 апреля, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7283
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Как найти сумму многомерного массива, используя LINQ ?

2012-07-15 14:10:00 (читать в оригинале)

Здесь написано как найти сумму значений многомерного массива с использованием LINQ. В примере массив имеет 3 строки и 2 колонки:

C#

using System;
using System.Linq;

class Program
{
static void Main(string[] args)
{
try
{
var myArray = new int[,]
{
{ 1, 2 },
{ 3, 4 },
{ 5, 6 }
};
var arrSum =
(from int val in myArray
select val)
.Sum();

Console.WriteLine(arrSum);
Console.ReadLine();
}
catch (Exception ex)
{
// handle ex
}
}
}

VB.NET

Imports System
Imports System.Linq

Friend Class Program
Shared Sub Main(ByVal args() As String)
Try
Dim
myArray = New Integer(, ) { { 1, 2 }, { 3, 4 }, { 5, 6 } }
Dim arrSum = ( _
From val As Integer In myArray _
Select val).Sum()

Console.WriteLine(arrSum)
Console.ReadLine()
Catch ex As Exception
' handle ex
End Try
End Sub
End Class

Это перевод. Оригинал здесь.



Как использовать LINQ для того, чтобы вытащить только строки из ArrayList ?

2012-07-15 13:22:00 (читать в оригинале)

Здесь простой пример того, как используя LINQ вытащить только строки из нетипизированного списка (ArrayList), который содержит строки и целые числа.

C#

static void Main(string[] args)
{
ArrayList al = new ArrayList { "Hello", 200, "World", false, 100 };
var onlyStr = al.OfType<string>();
Console.WriteLine("Printing Only Strings");
foreach(var str in onlyStr)
Console.WriteLine(str);
Console.ReadLine();
}

VB.NET

Sub Main(ByVal args() As String)
Dim al As ArrayList = New ArrayList From {"Hello", 200, "Word", False, 100}
Dim onlyStr = al.OfType(Of String)()
Console.WriteLine("Printing Only Strings")
For Each str In onlyStr
Console.WriteLine(str)
Next str
Console.ReadLine()
End Sub

Как вы можете видеть, мы использовали метод Enumerable.OfType<TResult> . Который отфильтровал элементы коллекции IEnumerable, основываясь на заданном типе, в нашем случае типе String.


Это перевод. Оригинал здесь.

Сортировка по полю с датой в Generic List с использованием LINQ

2012-07-15 12:29:00 (читать в оригинале)

Давайте рассмотрим Generic List в элементах которого есть поле - дата. Допустим вы хотите отсортировать Generic List по полю дата, и хотите сделать это самым простым способом. Здесь написано как это сделать. Я добавил DropDownList с цельэ продемонстрировать результаты:


C#

 


using System;


using System.Collections.Generic;


using System.Linq;


using System.Web;


using System.Web.UI;


using System.Web.UI.WebControls;


 


 


public partial class LINQ : System.Web.UI.Page


{


    protected void Page_Load(object sender, EventArgs e)


    {


 


        List<Employee> empList = new List<Employee>();


        empList.Add(new Employee() { ID = 1, FName = "John",  DOB = DateTime.Parse("12/11/1971")});


        empList.Add(new Employee() { ID = 2, FName = "Mary",  DOB = DateTime.Parse("01/17/1961")});


        empList.Add(new Employee() { ID = 3, FName = "Amber", DOB = DateTime.Parse("12/23/1971")});


        empList.Add(new Employee() { ID = 4, FName = "Kathy", DOB = DateTime.Parse("11/15/1976")});


        empList.Add(new Employee() { ID = 5, FName = "Lena",  DOB = DateTime.Parse("05/11/1978")});


 


        empList.Sort((x, y) => (x.DOB.CompareTo(y.DOB)));


 


        empList.ForEach(delegate(Employee em)


        {


            DropDownList1.Items.Add(em.DOB.ToString());


        });


 


    }


 


    class Employee


    {


        public int ID { get; set; }


        public string FName { get; set; }


        public DateTime DOB { get; set; }


    }


 


}




VB.NET

 


Imports System


Imports System.Collections.Generic


Imports System.Linq


Imports System.Web


Imports System.Web.UI


Imports System.Web.UI.WebControls


 


 


Partial Public Class LINQ


    Inherits System.Web.UI.Page


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)


 


        Dim empList As New List(Of Employee)()


        empList.Add(New Employee() With {.ID = 1, .FName = "John", .DOB = DateTime.Parse("12/11/1971")})


        empList.Add(New Employee() With {.ID = 2, .FName = "Mary", .DOB = DateTime.Parse("01/17/1961")})


        empList.Add(New Employee() With {.ID = 3, .FName = "Amber", .DOB = DateTime.Parse("12/23/1971")})


        empList.Add(New Employee() With {.ID = 4, .FName = "Kathy", .DOB = DateTime.Parse("11/15/1976")})


        empList.Add(New Employee() With {.ID = 5, .FName = "Lena", .DOB = DateTime.Parse("05/11/1978")})


 


        empList.Sort(Function(x, y) (x.DOB.CompareTo(y.DOB)))


 


        empList.ForEach(AddressOf AnonymousMethod1)


 


    End Sub


    Private Sub AnonymousMethod1(ByVal em As Employee)


        DropDownList1.Items.Add(em.DOB.ToString())


    End Sub


 


    Private Class Employee


        Private privateID As Integer


        Public Property ID() As Integer


            Get


                Return privateID


            End Get


            Set(ByVal value As Integer)


                privateID = value


            End Set


        End Property


        Private privateFName As String


        Public Property FName() As String


            Get


                Return privateFName


            End Get


            Set(ByVal value As String)


                privateFName = value


            End Set


        End Property


        Private privateDOB As DateTime


        Public Property DOB() As DateTime


            Get


                Return privateDOB


            End Get


            Set(ByVal value As DateTime)


                privateDOB = value


            End Set


        End Property


    End Class


 


End Class


Здесь сортировка делается методом List.Sort().

Это перевод. Оригинал здесь.



Как разделить коллекцию строк на группы, используя LINQ ?

2012-07-14 22:30:00 (читать в оригинале)

Недавно я работал над интересной проблемой, которая включала разделение коллекции строк на группы. Мы имели большой набор e-mail-ов помещенную в коллекцию строк. Задача была выбирать по 10 e-mail-ов за раз и отсылать их на обработку.

Здесь некий LINQ код, который может быть полезен, если у вас похожие требования - не использовать циклы для групировки.

static void Main(string[] args)
{
string[] email = {"One@devcurry.com", "Two@devcurry.com",
"Three@devcurry.com", "Four@devcurry.com",
"Five@devcurry.com", "Six@devcurry.com",
"Seven@devcurry.com", "Eight@devcurry.com"};

var emailGrp = from i in Enumerable.Range(0, email.Length)
group email[i] by i / 3;

foreach(var mail in emailGrp)
SendEmail(string.Join(";", mail.ToArray()));


Console.ReadLine();
}


static void SendEmail(string email)
{
// Assuming that you have code for sending mails here
Console.WriteLine(email);
Console.WriteLine("--Batch Processed--");
}

Код выше использует оператор LINQ GroupBy() для выделения по 3 мыла за раз и отсылки их на обработку. Помните, что group...by выражение переводится как вызов GroupBy.

Это перевод. Оригинал здесь.

Отсортировать массив строк содержащий числа с использованием LINQ

2012-07-14 21:32:00 (читать в оригинале)

Вот как отсортировать массив строк с числами на LINQ.

На C# это выглядит так:

static void Main(string[] args)
{
string[] arr = { "3", "1", "6", "10", "5", "13" };
foreach (var num in arr.OrderBy(x => int.Parse(x)))
{
Console.WriteLine(num);
}
Console.ReadLine();
}

На VB.NET это выглядит так:

Sub Main(ByVal args() As String)
Dim arr() As String = { "3", "1", "6", "10", "5", "13" }
For Each num In arr.OrderBy(Function(x) Integer.Parse(x))
Console.WriteLine(num)
Next num
Console.ReadLine()
End Sub

Результат выполнения программы:

image



Это перевод. Оригинал здесь.


Страницы: ... 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 ... 

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.