حذف سطرهای شامل فاصله در دیتاگرید ویو در سی شارپ
<pre>select * from table\_1 where column\_1 not like '%' + char(13)+'%' &nbsp;</pre>
ECMAScript 6 متد [`String.prototype.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes) رو معرفی کرد:


```
const string = "foo";
const substring = "oo";

console.log(string.includes(substring));
```
اما `includes` [در اینترنت اکسپلورر پشتیبانی](https://caniuse.com/#feat=es6-string-includes) نمیشه، در ECMAScript 5 یا محیط های قدیمی تر، از [`String.prototype.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) استفاده کن که اگر نتونه یک زیر رشته رو در رشته ای دیگه پیدا کنه 1- بر میگردونه


```
var string = "foo";
var substring = "oo";

console.log(string.indexOf(substring) !== -1);
``` عرض سلام و ادب خدمت شما دوست درسمنی  

جالبه که بدونید Object پدربزرگ همه Data typeها در زبان برنامه نویسی سی شارپ است! Object نوع داده ارجاعی است و سرعت پایینی دارد اما Var نوع داده مقداری است و از سرعت بالاتری برخوردار است، dynamic نیز شبیه Object است با این تفاوت که سرعت بالاتری دارد. بدونید که ابتدا Object به وجود آمد بعد Var و سپس dynamic!  

 از دیگر تفاوت ها می توان گفت:  

نوع Var می تواند متغیرهای گوناگونی از هر نوعی را در خود ذخیره کند فقط باید در هنگام تعریف نوع Var، متغیر، مقدار دهی اولیه شود، نوع متغیر مشخص نمی باشد و با اولین مقدار دهی به متغیر، نوع آن مشخص می شود، در حالیکه ما می توانیم لحظه ی تعریف نوع داده ی Object، آن را مقدار دهی اولیه نکنیم. قرص رو قطع کن به فرض منحنی شما با تابع $y=f(x)$ داده شده‌باشد و نقطه‌ای که می‌خواهید فاصله‌اش را از این منحنی بیابید $A=(a,b)$ باشد.


فاصله‌ای که دنبالش می‌گردید درازای پاره‌خطی است که از نقطهٔ $A$ می‌گذرد و بر منحنی عمود است. پس اگر نقطهٔ برخورد این پاره‌خط و منحنی را $B$ بنامید آنگاه دو مطلب را می‌دانیم، یکم اینکه چون این نقطه روی منحنی است پس اگر طول این نقطه را $x\_0$ بنامیم آنگاه $B=(x\_0,f(x\_0))$ و دوم اینکه شیب خطی که این پاره‌خط بخشی از آن است برابر با شیب خط عمود بر این منحنی در این نقطه است. اما می‌دانیم که این شیب برابر با منفی وارون شیب خط مماس بر منحنی در آن نقطه است. شیب خط مماس بر یک منحنی در یک نقطه نیز حاصل جایگذاری مختصات نقطه در مشتق تابع است. پس باید $y'=f'(x)$ را بیابید و سپس با قرار دادن $m=\dfrac{-1}{y'}$، شیب خط عمود برابر $m$ است. اکنون این خط عمود بر منحنی و گذرا از نقطهٔ $A$ را $\ell$ بنامید. فرمول یک خط با شیب $m$ و گذرا از نقطهٔ $(u,v)$ عبارت بود از $\ell\;:\;y=m(x-u)+v$. با توجه به مقدار شیب در حالت پرسش ما و با در نظر گرفتن نقطهٔ $B$، $\ell$ برابر می‌شود با $y=\dfrac{-1}{f'(x\_0)}(x-x\_0)+f(x\_0)$. اما هنوز این فرمول یک متغیر دارد که برایمان مجهول است و آن به خاطر مجهول بودن نقطهٔ برخورد بود. چگونه این مجهول را رفع کنیم؟ از داده‌هایی که داریم استفاده می‌کنیم. چون نقطهٔ $A$ قرار است روی این خط باشد پس بیاییم مختصاتش را جایگذاری کنیم و ببینیم چه می‌شود.
 $$A\in \ell\Longrightarrow b=\dfrac{-1}{f'(x\_0)}(a-x\_0)+f(x\_0)$$ 
اکنون یک معادله-یک مجهول داریم. آن را حل می‌کنیم و $x\_0$ را بدست می‌آوریم. با بدست‌آوردن $x\_0$ کار تمام است زیرا نقطهٔ $B=(x\_0,f(x\_0))$ را خواهیم داشت و با داشتن آن از فرمول درازای پاره‌خط داریم؛
 $$|AB|=\sqrt{(a-x\_0)^2+(b-f(x\_0))^2}$$ 
که $|AB|$ دقیقا همان فاصله‌ای است که دنبالش بودیم.


اما توجه کنید که در یک معادله-یک مجهولمان یک نکته نهفته‌است. ممکن است به جای رسیدن به پاسخ به تناقض بر بخوریم. این چیزی عجیب نیست و دلیلش آن است که فرمول خط را $y=m(x-u)+v$ در نظر گرفته‌بودیم ولی باید بدانید که همهٔ خط‌های صفحهٔ دو بعدی اقلیدسی به شکل $y=m(x-u)+v$ نوشته نمی‌شوند و یک استثناء دارد! زمانی که شیب خط تعریف‌نشده‌باشد نمی‌توانیم از فرمول $y=m(x-u)+v$ استفاده کنیم و باید از فرمول $x=c$ استفاده کنیم. پس اگر به جای حل شدن یک معادله-یک مجهولمان به تناقض برخوردیم معنایش این است که فرمول خط به شکل $\ell\;:\;x=c$ است (یک خط عمودی) بوده‌است. در این حالت هنوز می‌شود مجهولمان را بیابیم. از داده‌هایمان داریم که نقطه‌های $A$ و $B$ باید روی این خط باشند که نتیجه می‌دهد؛
 $$\begin{array}{l}B\in\ell\Longrightarrow c=x\_0\\A\in\ell\Longrightarrow c=a\\x\_0=a\end{array}$$ 


اکنون بیاییم یک نمونه را حل کنیم. به فرض منحنی ما یک سهمی با فرمول $y=x^2$ است و نقطه‌مان $A=(-1,0)$ است.
 $$\begin{array}{l}
y'=2x\\
m=\dfrac{-1}{2x}\\
B=(x\_0,x\_0^2)\\
\ell\;:\;y=\dfrac{-1}{2x\_0}(x-x\_0)+x\_0^2\\
\begin{array}{lll}
A\in\ell & \Longrightarrow & 0=\dfrac{-1}{2x\_0}(-1-x\_0)+x\_0^2\\
& \Longrightarrow & x\_0^3+x\_0+1=0\\
& \Longrightarrow & x\_0\simeq -0.5897545124
\end{array}\\
B=(-0.5897545124,0.3478103849)\\
|AB|\simeq 0.5378414487
\end{array}$$ 


اما اگر نقطه‌مان را به $A=(0,-1)$ تغییر دهیم آنگاه
 $$A\in\ell\Longrightarrow -1=\dfrac{-1}{2x\_0}(0-x\_0)+x\_0^2\Longrightarrow x\_0^2+x\_0+1=0
$$ 
که پاسخ حقیقی ندارد پس خط مان عمودی بوده‌است.
 $$\ell\;:\;x=0$$ 
و داریم $B=(0,0)$ و $|AB|=1$.


امیدوارم لذت برده‌باشید، متأسفانه زمان برای تصویر کشی و گذاشتن نداشتم. نه مشکلی نیست جدا کن همینطور که دارین میخونین اشتباهات تایپی رو هم برطرف کنین دیگه :grin: فایل leaflet.css لود نشده بود حجم عکس را کم کنید سلام وقت بخیر، دارو قطع شود. [`string`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/string)یک نام مستعار برای[`System.String`](https://docs.microsoft.com/en-us/dotnet/api/system.string)در سی شارپ هست.

بنابراین از نظر فنی، هیچ تفاوتی بین این دو وجود نداره. درست مثل [`int`در مقابل `System.Int32`](https://stackoverflow.com/questions/62503/c-int-or-int32-should-i-care)

هر زمان که به یک شی اشاره داری به طور کلی توصیه می شه که از نظر دستور کار از `string` استفاده کنی.

مثال


```
string place = "world";

```
در طرف مقابل، من فکر می کنم به طور کلی بهتره زمانی که به ویژه به یک کلاس اشاره داری از `String`استفاده کنی.

مثال


```
string greet = String.Format("Hello {0}!", place);

```
این همون شیوه ای که مایکروسافت [در مثال هاش](https://docs.microsoft.com/en-us/dotnet/api/system.string.format#examples) ازش استفاده می کنه