<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnet.lv/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Andrejs Mamontovs</title><link>http://dotnet.lv/blogs/am/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Izstrādātāja ikdiena, darbs ar Enum</title><link>http://dotnet.lv/blogs/am/archive/2010/03/10/izstr-d-t-ja-ikdiena-darbs-ar-enum.aspx</link><pubDate>Wed, 10 Mar 2010 21:11:10 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:11064</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=11064</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=11064</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/03/10/izstr-d-t-ja-ikdiena-darbs-ar-enum.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="cali"&gt;Labdien,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="cali"&gt;Šoreiz iemūžināšu vienu koda gabalu, kas var būt visai noderīgs Web izstrādātājiem. Lieta tāda, ka ikdienā bieži nododam argumentus izmantojot &lt;em&gt;URL&lt;/em&gt;. Piemēram: “list.aspx?status=Enabled”. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="cali"&gt;Lapas apstrādes kodā parasti var atrasts ko līdzīgu uz šo te piemēru:&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Request&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;] &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;?? &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Disabled&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;
&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;switch&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
{
    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Enabled&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code;
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;

    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Disabled&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;;
}&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Tāds īsts PHP variants. Ir visai liela varbūtība pieļaut kļūdu. Vai nav daudz OOP draudzīgāks variants? &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Šinī gadījumā var labi noderēt Enum tips. Izveidojam pārskaitījumu ar nosaukumu Status.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;&lt;font size="3" face="cali"&gt;public enum &lt;/font&gt;&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;&lt;font size="3" face="cali"&gt;Status
&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{
    &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Disabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;,
    &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Enabled
&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Pārveidojam jau iepriekš apskatīto kodu, lai pārveidotu tekstu par konkrētāku Enum tipu.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Enum&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Parse&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;typeof&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;), &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Request&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;] &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;?? &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;);

&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;switch&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
{
    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Enabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code;
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;

    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Disabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;;
}
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Tagad kods ir daudz kontrolējamāks, pārbaudes veicam ar pārskaitījuma vērtībām. Jāatzīmē, ka abos gadījumos, kodā vel būtu jāveic dažas papildus pārbaudes. &lt;/font&gt;&lt;font size="3" face="cali"&gt;Kas tur tāds, principā jau nav lielas atšķirības abās realizācijās. Daļēji tā arī ir. Bet gadījumā ar pārskaitījumiem, mēs šo te funkcionalitāte varam padarīt par universālāku izmantojot &lt;em&gt;Generic&lt;/em&gt; iespējas. Izveidosim jaunu palīg klasi.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public static class &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Enum&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;T&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&lt;font size="3" face="cali"&gt;&amp;gt;
&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{
    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public static &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;T Parse&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;value&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
    {
        &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Type &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;t &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;typeof &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;T&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;);

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;if &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;!&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;t&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;IsEnum&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
        {
            &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;throw new &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;ArgumentException&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
                &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;String&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Format&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;{0} is not an Enum&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;t&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Name&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;));
        }

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;value &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;?? &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;if &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Enum&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;IsDefined&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;t&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;))
        {
            &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;return &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;T&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;) &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Enum&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Parse&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;t&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;);
        }

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;return default&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;T&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;);
    }
}&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Tagad mums pavērās iespēja izmantot šādu te funkcionalitāti visur, kur mēs apstrādājam argumentus. Vēlreiz pārveidojam mūsu piemēru.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=
    &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Enum&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&amp;gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Parse&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Request&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);

&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;switch&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;status&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
{
    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Enabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code;
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;

    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;case &lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Status&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Disabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;:
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="cali"&gt;&lt;span style="background:#10100d;color:#756f51;"&gt;// Code
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;break&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="cali"&gt;;
}&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Tagad kods ir maksimāli drošs lietošana. Protams pēc vajadzības klasi Enum&amp;lt;T&amp;gt; vel var papildināt ar funkcionalitāti, bet tas jau pēc vajadzības. Galvenais mans uzdevums novirzīt domāšanu pareizā virzienā:)&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="cali"&gt;Cerams noderēs!&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=11064" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Generic/default.aspx">Generic</category><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category></item><item><title>Microsoft MVP summit, iespaidi no redzētā.</title><link>http://dotnet.lv/blogs/am/archive/2010/02/19/microsoft-mvp-summit-iespaidu-no-redz-t.aspx</link><pubDate>Fri, 19 Feb 2010 20:17:52 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:10040</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=10040</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=10040</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/02/19/microsoft-mvp-summit-iespaidu-no-redz-t.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2" face="ca"&gt;Sveiki,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;Pavisam nemanot ir aizvadīts šī gada Microsoft MVP Global summit. Šī bija mana pirmā dalība šinī pasākuma. Kādi ir iespaidi? Nenoliedzami paši labākiem! Pasākums noorganizēts lieliski. Paldies visiem iesaistītiem šī pasākuma tapšanā! Patiešām daudz talantīgu un atvērtu cilvēku. Ļoti patīkami sajust to, ka šinī tehnoloģiskajā attīstība šobrīd aktīvi piedalās tieši Microsoft MVP. Jo tieši mēs esam starpniekā lomā. Tilts starp klientu un produkta komandu! Nodrošinos izstrādes komandas ar scenārijiem no reālas dzīves.Ieguvu daudz noderīgus kontaktu, gan starp MVP cilvēkiem, gan no Microsoft komandām.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030510_5F00_1157955B.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030510" border="0" alt="P1030510" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030510_5F00_thumb_5F00_1E54061D.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030511_5F00_small_5F00_5B77C1A2.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030511_small" border="0" alt="P1030511_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030511_5F00_small_5F00_thumb_5F00_44ED96F7.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030512_5F00_small_5F00_4D04C34C.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030512_small" border="0" alt="P1030512_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030512_5F00_small_5F00_thumb_5F00_6EF2B681.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;Bildēs ir redzama saruna ar Microsoft .NET CLR komandu. Kā redzam tā ir internacionāla.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;Un pats interesantākais, no likteņa nevar aizbēgt. Arī šis pasākums nebija izņēmums, pavisam nejauši nokļuvu uz &lt;/font&gt;&lt;a href="http://en.wikipedia.org/wiki/Erik_Meijer_(computer_scientist)"&gt;&lt;font size="2" face="ca"&gt;Erik Meijer&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; lekciju. Visiem klātesošiem bija lieliska iespēja iepazīties ar vienu no viņa komandas sniegumiem - &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx"&gt;&lt;font size="2" face="ca"&gt;Reactive Extensions for .NET (Rx)&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt;. Tiem, kuru šo personību vel nezin, viņš ir tas cilvēks, kas darbojās pie LINQ tapšanas.&amp;#160; Lekcija bija vienkārši fantastiska! Šim cilvēkam ir iekšās jokot, tanī pat brīdi stāstīt par nopietnām lietām. Neiztika arī joki, saistībā ar vīna dīvainajiem t-krekliem. No viņa puses neiztika smalki joki saistībā ar &lt;/font&gt;&lt;a href="http://www.jetbrains.com/resharper/"&gt;&lt;font size="2" face="ca"&gt;ReSharper&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt;, jo auditorijā bija arī MVP, kas pārstāv &lt;/font&gt;&lt;a href="http://www.jetbrains.com/resharper/"&gt;&lt;font size="2" face="ca"&gt;ReSharper&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; komandu(Izrādās to izstrādā Krievijā). Kontaktējoties ar tādiem cilvēkiem, veidojās veselīgs konkurences gars. Un domāju, darīšu visu lai arī varētu nākotnē lepoties ar kādu sniegumu.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030516_5F00_small_5F00_19CDAB45.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030516_small" border="0" alt="P1030516_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030516_5F00_small_5F00_thumb_5F00_7FFC05C6.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030519_5F00_small_5F00_561B9191.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030519_small" border="0" alt="P1030519_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030519_5F00_small_5F00_thumb_5F00_2E77A618.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030526_5F00_small_5F00_72BA9E15.jpg" rel="lightbox"&gt;&lt;font size="2" face="ca"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030526_small" border="0" alt="P1030526_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030526_5F00_small_5F00_thumb_5F00_422F3FB9.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="ca"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;Diemžēl, nevaru daudz izpaust tehniskas detaļas, bet varu teikt droši - šīs gads ieviesīs daudz izmaiņas, kuras pacels cilvēka sadarbību ar datoriem uz pavisam jaunu līmeni.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;Pagaidām viss. Man priekša ir tāls ceļš uz mājām :)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=10040" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/Microsoft+MVP/default.aspx">Microsoft MVP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/MVP+Summit/default.aspx">MVP Summit</category></item><item><title>Microsoft MVP summit otrā diena, Redmonda</title><link>http://dotnet.lv/blogs/am/archive/2010/02/17/microsoft-mvp-summit-otr-diena-redmonda.aspx</link><pubDate>Thu, 18 Feb 2010 00:44:23 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:9934</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=9934</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=9934</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/02/17/microsoft-mvp-summit-otr-diena-redmonda.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2" face="cali"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Šodien piepildījās mans sapnis, ar savām acīm redzēt Microsoft ciematu Redmondā. Kā lai to raksturotu, lai katram no mums rastos bildīte galvā. Kādam liekās, ka tas ir ciemats. Personīgi man liekās tā ir neliela pilsēta. Ar savām ielām, veikaliem, kafejnīcām, stadionu, autoostu un t.l.l. Trūkst tikai dzelzceļa stacija:) Apkārtējā vide kalpo svarīgākam mērķim – lai Microsoft darbinieki strādātu produktīvi. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030451_5F00_small_5F00_4E91865C.jpg" rel="lightbox"&gt;&lt;font size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030451_small" border="0" alt="P1030451_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030451_5F00_small_5F00_thumb_5F00_38CA2EB0.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030452_5F00_small_5F00_71E39C63.jpg" rel="lightbox"&gt;&lt;font size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030452_small" border="0" alt="P1030452_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030452_5F00_small_5F00_thumb_5F00_43207472.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030453_5F00_small_5F00_1535B26B.jpg" rel="lightbox"&gt;&lt;font size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030453_small" border="0" alt="P1030453_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030453_5F00_small_5F00_thumb_5F00_1F89677C.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030454_5F00_small_5F00_037B3942.jpg" rel="lightbox"&gt;&lt;font size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030454_small" border="0" alt="P1030454_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030454_5F00_small_5F00_thumb_5F00_50ADC37E.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030459_5F00_small_5F00_6DB67246.jpg" rel="lightbox"&gt;&lt;font size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030459_small" border="0" alt="P1030459_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030459_5F00_small_5F00_thumb_5F00_08852904.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Tātad runājot par saturu, dienā iesākās ar &lt;/font&gt;&lt;a href="http://weblogs.asp.net/scottgu/"&gt;&lt;font size="2" face="cali"&gt;ScottGu&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; lekciju par Silverlight 4. Scott vada visu izstrādi saistībā ar CLR un bāzes klases, Silverlight, ASP.NET, IIS … Izstrādātāju vidu pazīstams, kā aktīvs emuāru rakstītājs. Lekcijas laikā paspīdēja Windows Phone 7 prototipa telefons. Ko es noteikti varu pateikt, domā ka neizplātu kādu noslēpumu. Jaunajā Windows Phone 7, aplikācijas telefonam tiek rakstītas līdzīgi kā WPF un Silverlight. Dizains tiek veidots ar Microsoft Expression Blend palīdzību. Tas nozīmē, ka cilvēkiem kuri ir pazīstami ar WPF vai Silverlight nākotnē atradīs sev lielāku pielietojumu:) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Apmeklēju lekcijas saistībā ar ASP.NET 4 un ASP.NET MVC 3 nākotni. Šeit jāatzīmē, ka notiek loģiska attīstība. Šīm lekcijām es atzīmētu ar teikumu - Nothing special! &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Pagaidām tas arī viss.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=9934" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/Microsoft+MVP/default.aspx">Microsoft MVP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/MVP+Summit/default.aspx">MVP Summit</category></item><item><title>Microsoft MVP summit pirmās dienas iespaidi</title><link>http://dotnet.lv/blogs/am/archive/2010/02/17/microsoft-mvp-summit-pirm-s-dienas-iespaidi.aspx</link><pubDate>Wed, 17 Feb 2010 05:45:29 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:9875</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=9875</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=9875</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/02/17/microsoft-mvp-summit-pirm-s-dienas-iespaidi.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Ir aizvadīta pirmā Microsoft atzīto profesionāļu sanāksmes diena. Uzreiz vēlos precizēt profesionāļu skaitu. Tātad, uz doto brīdi pasaulē ir 4140 Microsoft MVP. Tiek pārstāvētas vairāk nekā 70 valstis, tanī skaitā arī Latvija. Latvijā, pašlaik darbojās trīs aktīvie statusa ieguvēji(Uzreiz jāprecizē, ka katru gadu tiek vērtēts padarītais darbs un tiek izlemts par statusa pagarināšanu).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Atgriežoties pie galvenās domas. Ar ko tā bija interesanta. Šodien bija iespēja piedalīties īsās lekcijas par dažnedažādām tēmām, kuras pasniedza tieši paši MVP. Pārsvarā cilvēki stāstīja par saviem projektiem, gan maksas gan skaitā atvērtā koda. Jāsaka daudziem neizdevās iekļauties atvēlētajā laikā, un tēmas pasniedzējs līdzinājās pārdevējam:)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030384_5F00_small_5F00_4FA96B2E.jpg" rel="lightbox"&gt;&lt;font size="3"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030384_small" border="0" alt="P1030384_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030384_5F00_small_5F00_thumb_5F00_46E114F5.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030386_5F00_small_5F00_79D5C6BE.jpg" rel="lightbox"&gt;&lt;font size="3"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030386_small" border="0" alt="P1030386_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030386_5F00_small_5F00_thumb_5F00_0838EB04.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;No interesantākām tēmā gribās izdalīt trīs projektus:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://mvcturbine.codeplex.com/" href="http://mvcturbine.codeplex.com/"&gt;&lt;font size="3"&gt;ASP.NET MVC turbīna&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://webformsmvp.com/" href="http://webformsmvp.com/"&gt;&lt;font size="3"&gt;ASP.NET WebForms MVP&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.zoomery.com/" href="http://www.zoomery.com/"&gt;&lt;font size="3"&gt;Zoomery&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Tuvāk vakaram oficiālā pasākuma atklāšana, kurā piedalījās par Microsoft MVP virziena atbildīgiem cilvēki.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030408_5F00_small_5F00_16997E98.jpg" rel="lightbox"&gt;&lt;font size="3"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030408_small" border="0" alt="P1030408_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030408_5F00_small_5F00_thumb_5F00_2DEC351C.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030411_5F00_small_5F00_4C5B9767.jpg" rel="lightbox"&gt;&lt;font size="3"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030411_small" border="0" alt="P1030411_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030411_5F00_small_5F00_thumb_5F00_69F52479.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030401_5F00_small_5F00_16A2FFB5.jpg" rel="lightbox"&gt;&lt;font size="3"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030401_small" border="0" alt="P1030401_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030401_5F00_small_5F00_thumb_5F00_391F4083.jpg" width="244" height="184" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Tika daudz runāts par šādu profesionāļu esamības labumiem un turpmāko virzību. Tuvāk noslēgumam tika dota iespēja uzdot jautājumus. Šinī brīdī visa jautrība arī sākās. Viens no Microsoft MVP, kura kompetence ir saistīta ar mobilās iekārtas, izteica savu sašutumu, sakarā ar to, ka viņš tikai nu pat uzzināja par Windows Phone 7 iznākšanu! Un vai tas nenozīmējot, ka Microsoft pārņem Apple paņēmienus. Uz ko izsmeļoša atbilde netika saņemta. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Tas pagaidām arī viss&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=9875" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/Microsoft+MVP/default.aspx">Microsoft MVP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/MVP+Summit/default.aspx">MVP Summit</category></item><item><title>Microsoft MVP summit startē</title><link>http://dotnet.lv/blogs/am/archive/2010/02/16/microsoft-mvp-summit-start.aspx</link><pubDate>Tue, 16 Feb 2010 16:45:46 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:9849</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=9849</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=9849</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/02/16/microsoft-mvp-summit-start.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2" face="cali"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Klāt ir tas brīdis, kad uz Sietlu no visas pasaules sabrauca &lt;a href="http://mvp.support.microsoft.com/"&gt;Microsoft atzītie profesionāļi&lt;/a&gt;. Jā salīdzina ar pasaules kopējo iedzīvotāju skaitu, tādu ir visai maz. Daži tūkstoši. Pagaidām ir grūti spriest cik no tiem ir atbraukuši, bet reģistrācija rit raiti. Viss notiek, un domāju ka lielākā daļa tomēr ir atbraukusi.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Jāatzīst ka šeit valda tāda draudzības sajūta, cilvēki satiekas, iepazīstas un komunicē viens ar otru.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030370_5F00_small_5F00_65055572.jpg" rel="lightbox"&gt;&lt;font color="#000000" size="2" face="cali"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="P1030370_small" border="0" alt="P1030370_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030370_5F00_small_5F00_thumb_5F00_7A1B833A.jpg" width="644" height="447" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="cali"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Arī man nebijā ilgi jāgaida, kā ar mani sāka sarunāties puisis no Korejas. Pārsteidza tas fakts, ka viņš izskatās pēc skolnieka, bet tas netraucē būt par atzītu Microsoft profesionāli!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;Pagaidām, tas arī viss.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="cali"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=9849" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/MVP+Summit/default.aspx">MVP Summit</category></item><item><title>Ceļš uz Redmondu</title><link>http://dotnet.lv/blogs/am/archive/2010/02/14/ce-uz-redmondu.aspx</link><pubDate>Mon, 15 Feb 2010 01:14:00 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:9749</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=9749</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=9749</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2010/02/14/ce-uz-redmondu.aspx#comments</comments><description>&lt;p align="justify"&gt;&lt;font size="2"&gt;Sveicināti.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Katru gadu, parasti tas ir gada sākums, Microsoft rīko vērienīgu pasākumu, domātu visiem Microsoft MVP(Most Valuable Professional) statusa ieguvējiem. Šogad pasākums norisināsies no 16. līdz 19. februārim. Pārņemot stafeti&amp;#160; no &lt;a href="http://www.dotnet.lv/blogs/vi/"&gt;Valda&lt;/a&gt;, šogad uz Redmondu devos es.&amp;#160; Liels paldies par atbalstu manam &lt;a href="http://www.nexum.lv"&gt;darbadevējam&lt;/a&gt;! Pa cik, tik tālā ceļojumā devos pirmo reizi, nolēmu, grupas ietvaros pastāstīt par savām izjūtā ceļojuma laikā!&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Šis raksts top sēžot viesnīcas numurā Seattle piepilsētā. Tik tālie ceļojumi ir īsts izturības pārbaudījums. Lai rastu priekšstatu, attālums starp Rīgu un Seattle ir aptuveni 8000Km. Tiešo reisu starp abām pilsētām nav, tādēļ ir jālido vismaz ar vienu pārsēšanos. Manā gadījumā pārsēdos divas reizes. Tātad piemetam klāt vel tūkstoti vai divus kilometru:) Laiks ceļā iznāca mazliet vairāk par 24 stundām.&amp;#160; Laika starpība šeit&amp;#160; ir -10 stundas. Tātad, mani tuvinieki dzīvo nākotnē :)&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Visiem, kas kādreiz dosies uz USA pirmo reizi, pirms lidojuma nopērciet pāreju rozetei, Eiropas tirgum domātas ierīces šeit iespraust nevar. Un veiklie šīs valsts uzņēmēji tirgo tādu plastmasas gabaliņu par salīdzinoši lielām naudiņām:) Vel vien moments, karu būtu noderīgi zināt, lai nerastos problēmas ar nogurumu, vēlams ierasties uz šejieni vismaz vienu dienu iepriekš. Tagad, kad es mazliet pagulēju un piespiedu sevi celties pēc vietējā laika, jūtos jau lietojams. Ir vel viens liels plus, ir laiks apskatīt apkārtni dienas gaismā. Jāsaka, ka šeit ir ko redzēt, pat februāra mēnesī. Daba šeit ir ļoti līdzīga Latvijas. Bet neskatoties uz to, ka ir februāris, šeit valda Latvijas pavasarim raksturīgs laiks. Ir silts +9, brīžiem spīd saule, līst sīks lietutiņš. Vārds sakot ideāls klimats lai strādātu intelektuālu darbu:) &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Zemāk bildes, Bellevue vēsturiskā Main Street iela. Tā visā savā garumā saglabāja to pilsētas pirmatnējo tēlu. &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030335_5F00_small_5F00_6B14E68A.jpg" rel="lightbox"&gt;&lt;font color="#000000" size="2"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="P1030335_small" border="0" alt="P1030335_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030335_5F00_small_5F00_thumb_5F00_1753FE20.jpg" width="644" height="484" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Paralēli Main St., aptuveni 100 metriem attālumā sakas pavisam cita pasaule:) Vēsture saplūst ar nākotni:)&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030320_5F00_small_5F00_51D18EA5.jpg" rel="lightbox"&gt;&lt;font color="#000000" size="2"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="P1030320_small" border="0" alt="P1030320_small" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030320_5F00_small_5F00_thumb_5F00_4A4B409A.jpg" width="644" height="484" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Un bilde sāk izskatīties aptuveni šāda&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030318_5F00_372CA49F.jpg" rel="lightbox"&gt;&lt;font color="#000000" size="2"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="P1030318" border="0" alt="P1030318" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/P1030318_5F00_thumb_5F00_4350AF77.jpg" width="644" height="484" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Par iedzīvotājiem runājot, pie tiem ir jāpierod. Jāpierod pie viņu savdabības. Jo pilnīgi normāli, ka ieejot veikalā, tevi sastaps ar smaidu. Pajautās no kurienes Tu atbrauci, izmetīs kādu joku, kuru iespējams pēc kāda brīža sākšu saprast, un ar teikumu – “Uz saredzēšanos” pavadīs prom:)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Tas pagaidām viss, sekojiet līdz, un rakstiem savus atsauksmes!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=9749" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/MVP+Summit/default.aspx">MVP Summit</category></item><item><title>Izstrādātāja ikdiena</title><link>http://dotnet.lv/blogs/am/archive/2009/07/14/izstr-d-t-ja-ikdiena.aspx</link><pubDate>Tue, 14 Jul 2009 21:07:08 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3643</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3643</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3643</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/07/14/izstr-d-t-ja-ikdiena.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Labs vakars,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Kā jau ierasti, rakstos ar virsrakstu “Izstrādātāja ikdienas” apkopoju visādus dīvainus koda gabalus, no eksistējošām sistēmām. Šoreiz visai oriģināls veids, kā pārbaudīt bool vērtību.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;bool &lt;/span&gt;b = GetResult();
&lt;span style="color:blue;"&gt;switch &lt;/span&gt;(b)
{
        &lt;span style="color:blue;"&gt;case true&lt;/span&gt;:
        &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:green;"&gt;// kods
        &lt;/span&gt;&lt;span style="color:blue;"&gt;break&lt;/span&gt;;
        &lt;span style="color:blue;"&gt;case false&lt;/span&gt;:
        &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:green;"&gt;// kods
        &lt;/span&gt;&lt;span style="color:blue;"&gt;break&lt;/span&gt;;
}
&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Laikam būs jāizveido &lt;/font&gt;&lt;font size="3"&gt;top 100, kā pārbaudīt loģisko Jā/Nē:)&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3643" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category></item><item><title>ASP.NET lapu pāradresācija</title><link>http://dotnet.lv/blogs/am/archive/2009/07/01/asp-net-lapu-p-radres-cija.aspx</link><pubDate>Wed, 01 Jul 2009 20:43:46 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3544</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3544</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3544</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/07/01/asp-net-lapu-p-radres-cija.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Šoreiz par iespēju pāradresēt vaicājumu&amp;#160; ar &lt;em&gt;web.config&lt;/em&gt; palīdzību. Šī funkcionalitāte var būt noderīgi gadījumos, ja kāda no lapām ir zaudējusi savu aktualitāti. Šinī gadījumā nav nepieciešamības veikt Web servera uzstādījumu maiņu, vai faila dzēšana no direktorijas.      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Piemēra:&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;…&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.web&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;urlMappings &lt;/span&gt;&lt;span style="color:red;"&gt;enabled&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;add &lt;/span&gt;&lt;span style="color:red;"&gt;url&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;~/Application.aspx&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;mappedUrl&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;~/MainPage.aspx&lt;/span&gt;&amp;quot; &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;urlMappings&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.web&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="color:blue;"&gt;&lt;font size="3" face="ca"&gt;&amp;gt;&lt;br /&gt;…&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Šī funkcionalitāte tiek panākta ar tagu urlMapping, taga iekšienē nodefinējot jauno pāradresācijas nosacījumu. Manā gadījumā vaicājums pēc &lt;em&gt;Application.aspx&lt;/em&gt; lapas tiek pāradresēts uz &lt;em&gt;MainPage.aspx&lt;/em&gt; lapu. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Ko domājat jūs, kāda ir to izmantošanas pieredze?&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Cerams noderēs!&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3544" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category></item><item><title>101 Linq piemērs</title><link>http://dotnet.lv/blogs/am/archive/2009/06/30/101-linq-piem-rs.aspx</link><pubDate>Tue, 30 Jun 2009 21:00:04 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3532</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3532</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3532</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/06/30/101-linq-piem-rs.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Labs vakars, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Šoreiz iemūžināšu vietnes adresi ar LINQ piemēriem - &lt;/font&gt;&lt;a title="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx" href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx"&gt;&lt;font size="3" face="ca"&gt;http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="ca"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3532" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5/default.aspx">.NET3.5</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5+SP+1/default.aspx">.NET3.5 SP 1</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Linq/default.aspx">Linq</category></item><item><title>Windows 7 ekrāntapešu konkurss</title><link>http://dotnet.lv/blogs/am/archive/2009/06/28/windows-7-ekr-ntape-u-konkurss.aspx</link><pubDate>Sun, 28 Jun 2009 11:41:30 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3515</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3515</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3515</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/06/28/windows-7-ekr-ntape-u-konkurss.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Vel tikai trīs dienas, katram no mums ir lieliska iespēja piedalīties Windows 7 ekrāntapešu konkursā.&amp;#160; Konkursa noteikumus atradīsiet &lt;a href="http://www.dotnet.lv/windows7"&gt;šeit&lt;/a&gt;&lt;/font&gt;&lt;font size="3" face="ca"&gt;. No sevis varu tikai piebilst, ka par atsaucības trūkumu nevar sūdzēties. Uz šo brīdi saņemtas vairāk par 200 augstas kvalitātes bildēm, un mums ir ko parādīt pasaulei!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3515" width="1" height="1"&gt;</description></item><item><title>Programmētāju ikdiena (ASP.NET Black magic)</title><link>http://dotnet.lv/blogs/am/archive/2009/06/27/programm-t-ju-ikdiena-asp-net-black-magic.aspx</link><pubDate>Sat, 27 Jun 2009 21:12:03 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3504</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3504</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3504</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/06/27/programm-t-ju-ikdiena-asp-net-black-magic.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Labs vakars, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Mūsu vietne valda klusums. Tēmas rakstīšanai netrūkst, bet attaisnojums visai primitīvs, nespējam apkopot domas un maksimāli ātri tās iemūžināt. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Šoreiz par vienu koda gabalu, kuru atradām meklējot kļūdas. Es vienmēr zināju, ka programmētājiem piemīt nestandarta domāšana! Pat ikdienas uzdevumu var kļūt savā ziņā par mākslas darbu. &lt;font size="3" face="ca"&gt;Mazliet vienkāršots piemērs no dzīves.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div align="left"&gt;   &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;    &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="color:blue;"&gt;&lt;font size="3" face="ca"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;
        &lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:green;"&gt;//&amp;lt;![CDATA[
            &lt;/span&gt;alert(&lt;span style="color:#a31515;"&gt;&amp;#39;&amp;lt;asp:Literal ID=&amp;quot;Msg&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&amp;#39;&lt;/span&gt;);
        &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:green;"&gt;//]&amp;gt;&amp;gt;
    &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Servera pusē tas izskatās aptuveni šādi&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="color:blue;"&gt;protected void &lt;/span&gt;Page_Load(&lt;span style="color:blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color:#2b91af;"&gt;EventArgs &lt;/span&gt;e)
{
    Msg.Text = &lt;span style="color:#a31515;"&gt;&amp;quot;Text&amp;quot;&lt;/span&gt;;
}
&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;
  &lt;br /&gt;&lt;font size="3" face="ca"&gt;Nekad nebiju aizdomājies, ka &lt;em&gt;JavaScript&lt;/em&gt; kodā var pielietot klasiskās ASP.NET kontroles, un tas pat strādā! Kods mani zināmā veidā pārsteidza. Ar kolēģiem pat nedaudz apspriedām šo te momentu. Secinājām, ka šeit neiztika bez tumšo spēku iejaukšanās. Un ko domājat jūs?&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3504" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category></item><item><title>LINQ satiek PLINQ</title><link>http://dotnet.lv/blogs/am/archive/2009/05/05/linq-satiek-plinq.aspx</link><pubDate>Tue, 05 May 2009 11:52:11 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:3091</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=3091</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=3091</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/05/05/linq-satiek-plinq.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Šoreiz īsi par &lt;em&gt;Microsoft .NET Framework 4.0&lt;/em&gt; paralēlisma iespēju strādājot ar LINQ izteiksmēm. Par pamatu paņēmu savu rakstu (&lt;/font&gt;&lt;a href="http://www.dotnet.lv/blogs/am/archive/2009/04/01/izstr-d-t-ja-ikdienas-klasisk-uzdevuma-atrisin-jums-ar-linq-iesp-j-m.aspx"&gt;&lt;font size="3" face="ca"&gt;Izstrādātāja ikdienas, klasiskā uzdevuma atrisinājums ar LINQ iespējām&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="ca"&gt;). &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Tātad, vispirms īri par uzdevumu. Man ir teksta fails ar datiem, kurus var pārveidot struktūrā. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Izveidoju metodi, kas veiks teksta rindas apstrādi un pārveido to vārdnīcā ar atslēgu. Par atslēgu kalpo LineTags pārskaitījums(Enum).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public static &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Dictionary&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;string&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ParseLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;this string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;line&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
{
&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;&lt;font color="#a79a86"&gt;    &lt;/font&gt;return &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;line&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Split&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Select&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
        (&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;index&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;) &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;new &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Tag &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;index&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Substring &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;})&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ToDictionary&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;&lt;font color="#a79a86"&gt;            &lt;/font&gt;c &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Tag&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Substring&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;);
}
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Šādi izskatās kods, kas izsauc datu apstrādi&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;lines &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;new&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[] { &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Andrejs M.\t1\tmale&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Peteris L.\t2\tmale&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Ivars A.\t3\tmale&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;};

&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;result &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;from &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;l &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;in &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;lines&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;select &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;l&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ParseLine&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;());

&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;foreach &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;in &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;result&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Select&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;i &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;i&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FullName&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]))
{
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;    Debug&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;);
}
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Koda izpildes rezultāts tiek izvadīts Visual Studio atkļūdošanas ekrānā. Piemērs:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&lt;font size="3" face="ca"&gt;Andrejs M.
Peteris L.
Ivars A.
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Datu apstrāde š&lt;font size="3" face="ca"&gt;inī gadījumā&lt;/font&gt; tiek veikta secīgi, viena pavediena ietvaros (To var redzēt pēc izvades rezultāta). Gadījumā, &lt;/font&gt;&lt;font size="3" face="ca"&gt;ja man datorā ir 4 kodolu procesors, tiek izmantots tikai viens kodols. Tātad, uz lieliem datu apjomiem netiek optimāli izmantota vasa pieejamā veiktspēja. Svarīgi ir nodrošināt iespēju &lt;/font&gt;&lt;font size="3" face="ca"&gt;veikt darbības paralēli(Paralēlisms), kopējo datu apjomu apstrādāt vairākos pavedienos(izmantojot visus sistēmā pieejamos kodolus).&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Paralēlisma programmēšana līdz nesenam laikam bija apgrūtinoša! Skatoties uz kopējo izstrādātāju skaitu, tikai nedaudzie pārzina šo te apgabalu. Puiši no Microsoft balstoties uz uzkrātās pieredzes pacentās maksimāli paslēpt visus šos specifiskos momentus, vienkāršojot paralēlisma izmantošanu.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Atgriežoties pie piemēra. Lai sāktu pielietots visu paralēlisma spēku ir jāizmaina tikai viena koda rindiņa!&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;result &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;from &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;l &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;in &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;lines&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;AsParallel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;select &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;l&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ParseLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;());&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&lt;font size="3" face="ca"&gt;Ivars A.
Andrejs M.
Peteris L.&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Atkļūdošanas ekrānā ieraksti izvadīsies nenoteiktā secībā. Tā ir laba pazīme, kas liecina par paralēlo apstrādi. Arī kodā sastopama metodes AsParallel par to liecina. Kāpēc vispār jāizsauc šī metode? Vienkāršoti sakot, LINQ darbojās ar kolekcijām balstoties uz paplašinošām metodēm,&amp;#160; galvenais lai tiek kolekcijas atbalsta &lt;em&gt;IEnumerable&lt;/em&gt; interfeisu. Ar metodes AsParallel starpniecību tiek atgriezts objekts ar tipu &lt;em&gt;ParallelQuery&amp;lt;T&amp;gt;.&lt;/em&gt; Speciāli šim te jaunajam tipam tiek nodublētas paplašinošās metodes no LINQ. Tādā veidā saglabājot visu līdz šim eksistējošu funkcionalitāte, nav nepieciešamības pārrakstīt vaicājumus.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Cerams noderēs!&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=3091" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Generic/default.aspx">Generic</category><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Linq/default.aspx">Linq</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://dotnet.lv/blogs/am/archive/tags/PLinq/default.aspx">PLinq</category></item><item><title>Microsoft IE 8 XDomainRequest</title><link>http://dotnet.lv/blogs/am/archive/2009/04/08/microsoft-ie-8-xdomainrequest.aspx</link><pubDate>Wed, 08 Apr 2009 19:17:07 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:2950</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=2950</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=2950</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/04/08/microsoft-ie-8-xdomainrequest.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Turpinot iesākto tēmu par Microsoft IE 8 jaunumiem no programmētāja stata punkta. Šoreiz, par iespēju veikt asinhronos vaicājumus uz citu domēnu no &lt;strong&gt;&lt;em&gt;JavaScript&lt;/em&gt;&lt;/strong&gt;. Līdz nesenam laikam, modernajos pārlūkos pastāvēja ierobežojums, veidot vaicājumus tikai sava domēna ietvaros. Drīzumā šis ierobežojums tiks likvidēts. Bet par visu pēc kārtas.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;IE 8 pārlūkā no JavaScript ir pieejams jauns objekts &lt;em&gt;&lt;strong&gt;XDomainRequest&lt;/strong&gt;&lt;/em&gt;. Objekts nodrošina šo te komunikāciju starp domēniem. Apskatīsim, kā tas darbojās uz piemēra&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;html &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;xmlns&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;head&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;title&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;title&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

    &amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;script &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;type&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;function &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;getData&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() {

            &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;xdr &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;new &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;XDomainRequest&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;();
            &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;xdr&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;open&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;get&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;http://www.getdate.com/getdate.aspx&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;);

            &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;xdr&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;onload &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() {
                &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;document&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;getElementById&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;).&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;innerHTML &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;br /&gt;                    &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;toStaticHTML&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;xdr&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;responseText&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;);
            }

            &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;xdr&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;send&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;();
        }

    &lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;script&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;head&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;body&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;button &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;onclick&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;getData();&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
        &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;Get date&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;button&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;div &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;id&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;div&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;body&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;html&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Uzrakstīju nelieku &lt;strong&gt;&lt;em&gt;HTML&lt;/em&gt;&lt;/strong&gt; kodu, pēc noklusējuma uz ekrāna parādās poga ar tekstu &lt;em&gt;&lt;strong&gt;“Get date”&lt;/strong&gt;&lt;/em&gt;. Nospiežot pogu, tiek izsaukta metode &lt;strong&gt;&lt;em&gt;“getData”&lt;/em&gt;&lt;/strong&gt;. Tie izveidots objekts &lt;strong&gt;&lt;em&gt;XDomainRequest&lt;/em&gt;&lt;/strong&gt;. Ar &lt;em&gt;&lt;strong&gt;“open”&lt;/strong&gt;&lt;/em&gt; metodes palīdzību, tiek izveidots savienojums ar citu domēna serveri. Parakstāmies uz notikumu &lt;em&gt;&lt;strong&gt;“onload”&lt;/strong&gt;&lt;/em&gt;, saņemtās atbildes saturu ievietojam elementā &lt;em&gt;&lt;strong&gt;DIV&lt;/strong&gt;&lt;/em&gt; ar nosaukumu &lt;em&gt;&lt;strong&gt;“content”&lt;/strong&gt;&lt;/em&gt;. Šinī vietā jāpiemin jauna IE 8 metode &lt;em&gt;&lt;strong&gt;“toStaticHTML”&lt;/strong&gt;&lt;/em&gt;, ar tās palīdzību kods tiek pasargāts no iespējamās &lt;em&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/em&gt; injekcijas(Injection). Vienkārši sakot, no satura tiek izmesti visi skripti un skriptu izsaukumi. Manu kodu noslēdz metodes &lt;em&gt;&lt;strong&gt;“send”&lt;/strong&gt;&lt;/em&gt; izsaukums. Tātad pieprasījums ir nosūtīts. No klienta puses tas arī vienkāršā gadījumā arī viss.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Servera pusē, servera atbildei ir jāpievieno iesākums &lt;strong&gt;&lt;em&gt;(Header)&lt;/em&gt;&lt;/strong&gt;&amp;#160;&lt;strong&gt;&lt;em&gt; (Response.AddHeader(&amp;quot;Access-Control-Allow-Origin&amp;quot;, &amp;quot;*&amp;quot;)&lt;/em&gt;&lt;/strong&gt;. Tādā veidā tiek pateikt, ka tiek atbalstīts starp domēnu izsaukums. Zvaigznītes vietā var norādīt arī konkrētu domēnu.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Pielikumā pievienoju &lt;em&gt;Visual Studio&lt;/em&gt; projektu, lai to notestētu uz sava datora.&lt;/font&gt;&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:10b8b483-a44f-4d8c-934a-075f93357019" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/am/XDomainRequestDemo_5F00_72DACC0B.zip" target="_blank"&gt;XDomainRequestDemo&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;P.S. Pirms palaist piemēru modificējies Windows host failu, lai domēns &lt;a href="http://www.getdate.com"&gt;www.getdate.com&lt;/a&gt; tiktu piesaistīts localhost.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Cerams noderēs!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=2950" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category><category domain="http://dotnet.lv/blogs/am/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://dotnet.lv/blogs/am/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://dotnet.lv/blogs/am/archive/tags/IE+8/default.aspx">IE 8</category></item><item><title>IE 8 tiešsaistes / nesaistes noteikšana izmantojot JavaScript</title><link>http://dotnet.lv/blogs/am/archive/2009/04/02/ie-8-tie-saistes-nesaistes-noteik-ana-izmantojot-javascript.aspx</link><pubDate>Thu, 02 Apr 2009 20:27:39 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:2927</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=2927</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=2927</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/04/02/ie-8-tie-saistes-nesaistes-noteik-ana-izmantojot-javascript.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="cal"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="cal"&gt;Esam sagaidījuši jauno &lt;em&gt;&lt;strong&gt;Microsoft Internet Explorer&lt;/strong&gt;&lt;/em&gt; versiju. Jaunajai versijai ir daudz interesantu iespēju, bet par tam citreiz. Šoreiz par iespēju noteikt, kādā režīmā &lt;strong&gt;&lt;em&gt;(Online/Offline)&lt;/em&gt;&lt;/strong&gt; darbojās &lt;strong&gt;&lt;em&gt;IE&lt;/em&gt;&lt;/strong&gt; no &lt;em&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/em&gt;. Lai maksimāli ātri nodemonstrēt šo iespēju, uzrakstīju nelielu piemēru. &lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;html &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;xmlns&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;head&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;title&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;Online/Offline test&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;title&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;script &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;type&lt;/span&gt;&lt;span style="background:#10100d;color:#a1b070;"&gt;=&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;


&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;window&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;onload &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() {

    &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;window&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;document&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;body&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ononline &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() {
        &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;alert&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;Online&amp;#39;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;); 
    }

    &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;window&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;document&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;body&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;onoffline &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;() {
        &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;alert&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;Offline&amp;#39;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;); 
    }
}

&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;alert&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;IsOnline:&amp;quot; &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;+ &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;window&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;navigator&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;onLine&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)


&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;script&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;head&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;

&amp;lt;&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;body&lt;/span&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;body&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="cal"&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;html&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#c3c567;"&gt;&lt;font size="3" face="cal"&gt;&amp;gt;
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="cal"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="cal"&gt;Ideja ir sekojoša, BODY elementam parādījās divi jauni notikumi &lt;strong&gt;&lt;em&gt;ononline&lt;/em&gt;&lt;/strong&gt; un &lt;strong&gt;&lt;em&gt;onoffline&lt;/em&gt;&lt;/strong&gt;. Parakstoties uz kādu no tiek, jūsu rakstītais kods nepalaidīs garām brīdi, kad notiek pazīmes &lt;em&gt;&lt;strong&gt;Work Offline(&lt;strong&gt;&lt;em&gt;File –&amp;gt; Work Offline&lt;/em&gt;&lt;/strong&gt;)&lt;/strong&gt;&lt;/em&gt; izmaiņa. Tā pat, jūsu kodā pastāv iespēja noskaidros, vai pārlūks darbojās tiešsaistes režīmā izmantojot &lt;strong&gt;&lt;em&gt;window.navigator.onLine&lt;/em&gt;&lt;/strong&gt; pazīmi. Šis konstrukcijas manā skatījumā var būt noderīgas tīmekļu vietnēs, kuras izmanto AJAX iespējas. Tādā veidā brīdinot lietotāju, netiks veikti pieprasījumi uz serveri.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Cerams noderēs!&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=2927" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://dotnet.lv/blogs/am/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://dotnet.lv/blogs/am/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://dotnet.lv/blogs/am/archive/tags/IE+8/default.aspx">IE 8</category></item><item><title>Izstrādātāja ikdienas, klasiskā uzdevuma atrisinājums ar LINQ iespējām</title><link>http://dotnet.lv/blogs/am/archive/2009/04/01/izstr-d-t-ja-ikdienas-klasisk-uzdevuma-atrisin-jums-ar-linq-iesp-j-m.aspx</link><pubDate>Wed, 01 Apr 2009 10:33:02 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:2916</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=2916</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=2916</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2009/04/01/izstr-d-t-ja-ikdienas-klasisk-uzdevuma-atrisin-jums-ar-linq-iesp-j-m.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="ca"&gt;Sveicināti,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Jau kādu brīdi izmantoju LINQ veicot datu atlasi, grupēšanu, kārtošanu un tam līdzīgas lietas. Šoreiz gribēju apskatīt vienu klasisko uzdevuma atrisinājumu izmantojot LINQ iespējas.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Tātad, man ir noteikts importa fails. Parasts teksta fails, kurš sastāv no rindām, rindu saturs tiek dalīts ar sadalītāju(manā gadījumā – Tab). Pieņemsim, ka mums nav svarīgs datu ielasīšanas process, bet gan rindu apstrāde.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="ca"&gt;Piemērs, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;lines &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;new&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[]{ &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Andrejs Mamontovs\t28\tmale&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Ivars Āriņš\t25\tmale&amp;quot; &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;};&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Atmiņā ir ielasīti divi ieraksti.&amp;#160; Pagrūti saprast, ko tad šīs rindiņas satur. Sāksim ar atšifrējumu. Katra rinda sadalīta uz trim daļām (Vārds Uzvārds, vecums, dzimums). Tātad, rindiņa ir jādala.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;foreach &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;line &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;in &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;lines&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)
{
&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;&lt;font color="#a79a86"&gt;    &lt;/font&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;line&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Split&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;);
}
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Vērtība ar indeksu nulle būs Vārds Uzvārds. Vērtība ar indeksu viens būs vecums. Vērtība ar indeksu divi būs dzimums.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vārds Uzvārds: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:cyan;"&gt;0&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vecums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:cyan;"&gt;1&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Dzimums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:cyan;"&gt;2&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Iespējams šis ir pats izplatītākais veids, kā praksē tiek apstrādāti dati, bet man tāds nepatīk. Uzturēšanas ziņā neērti. Es vēlos izveidot noteiktu struktūru, ar atšifrējumu kas ir kas. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Pirmkārt, izveidoju&amp;#160; pārskaitījumu ar lauku nosaukumu.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public enum &lt;/span&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;&lt;font size="3" face="ca"&gt;LineTags
&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{
&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;&lt;font color="#a79a86"&gt;    &lt;/font&gt;FullName&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;,
&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;&lt;font color="#a79a86"&gt;    &lt;/font&gt;Age&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;,
&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;    Gender
&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Lauku apstrādes kodu var tagad pārrakstīt, lai tiek izmantots pārskaitījums&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vārds Uzvārds: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;int&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FullName&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vecums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;int&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Age&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Dzimums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[(&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;int&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Gender&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Šinī gadījumā esam atteikušies no indeksiem, bet nav vel ideāli, ir nepieciešams pārskaitījumu tipu pārveidot uz tipu Integer. Šeit būtu pareizi izmantot Generic iespējas, lai simbolu kopas meklēšana notiktu pēc LineTags pārskaitījuma. Un šeit var noderēt LINQ konstrukcijas.&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;line&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Split&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Select&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
    (&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;index&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;) &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;new &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Tag &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;)&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;index&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Substring &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;})&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ToDictionary&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(
&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;&lt;font color="#a79a86"&gt;    &lt;/font&gt;c &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Tag&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;c&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Substring&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;);
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Vispirms ar Split sadalām rindu uz sastāvdaļām. Ar metodi Select visi masīva elementi (String&amp;#160; tips) tiek pārveidoti anonīmajā tipā. Tips satur divus laukus (Tag un Substring). Tag lauks tiek aizpildīts ar ieraksta indeksu. Ieraksta indekss ir Integer tips, to varam bez problēmām pārveidot par LineTags tipu. Substring lauks tiek aizpildīts ar oriģinālo simbolu kopu. Pēc šīs pārveidošanas iegūstam sarakstu ar jauno tipu. Noslēgumā jauno sarakstu pārveidot par vārdnīcu, kurā kā indeksi tiek izmantots tips LineTags. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Modificējam datu iegūšanas kodu&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vārds Uzvārds: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FullName&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Vecums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Age&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="ca"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;]);
&lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Console&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;WriteLine&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;Dzimums: {0}&amp;quot;&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;parts&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;LineTags&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Gender&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font size="3" face="ca"&gt;]);
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font size="3" face="ca"&gt;Kā redzam tikām vaļā no tipa pārveidošanas uz Integer. Kā arī tagad mums ir grūtāk kļūdīties atlasot datus. Šāds paņemies protams nebūt nav tas ātrākais, starpība ir aptuveni 5.5x reizes. Ir testēts uz aptuveni 100000 ierakstu.&amp;#160; Ja parastā apstrāde aizņēma ~100ms, tad gadījumā ar LINQ bija ~600ms. Protams, ir jāskatās pēc situācijas. Bet noteikti šis gadījums ir spējīgs dzīvot.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Cerams ka noderēs!&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=2916" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Collections/default.aspx">Collections</category><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5/default.aspx">.NET3.5</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5+SP+1/default.aspx">.NET3.5 SP 1</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Linq/default.aspx">Linq</category></item></channel></rss>