顯示具有 C# 標籤的文章。 顯示所有文章
顯示具有 C# 標籤的文章。 顯示所有文章

2017年3月17日 星期五

C#的Console.ReadLine的輸入長度限制

默認長度為256

將其改為1000;
Stream inputLength = Console.OpenStandardInput(1000);
Console.SetIn(new StreamReader(inputLength));
Console.ReadLine();

2017年2月21日 星期二

如何新建Global.asax

事件:
開了一個空的專案,找不到在哪裡加入Global.asax,在搜尋欄位輸入asax或Global也找不到。

解決方案:
爬文後,發現搜尋要全域應用程式類別就有了。



備註:
如果專案裡已經有Global.asax,還是會搜尋不到。

2017年1月25日 星期三

return中使用條件運算子? :

return 條件 ? true : false

如下述範例,當 a > b 時,回傳為a,當 a < = b 時,回傳為b + 1
return a > b ? a : b + 1

也可加入括弧,使其表示的更清楚
return (a > b) ? a : (b + 1)

以下引用微軟的說明文件
條件式運算子 (? :) 是一種三元運算子 (它會採用三個運算元)。 條件運算子運作方式如下:

  • 第一個運算元(條件)會隱含轉換成 bool。 接著會對它進行評估,並且完成所有副作用,再繼續執行。
  • 如果第一個運算元判斷值為 true (1),就會評估第二個運算元。
  • 如果第一個運算元判斷值為 false (0),則會評估第三個運算元。

2017年1月23日 星期一

使用HTTP Method,遇到ErrorCode10013,無法連接至遠端伺服器問題

工作內容原本是在舊的專案中加入簡單的http post功能。

結果不管用webrequest或httpwebrequest都無法連接到已經架好的網站。

一直出現以下的錯誤訊息(部份)
HResult=-2146233088
Message=傳送要求時發生錯誤。
Source=mscorlib
......
InnerException: 
     HResult=-2146233079
     Message=無法連接至遠端伺服器
     Source=System
     ......
          ErrorCode=10013
          HResult=-2147467259
          Message=嘗試存取通訊端被拒絕,因為存取權限不足。
          NativeErrorCode=100
          Source=System
          ......

也把測試網址改為Google或Yahoo,問題依舊發生了。

找了兩天類似問題的相關資料,都無法解決此問題後。

就試著開新專案寫http post的程式,看是否與電腦環境有關係。
結果測試後發現
  1. 在以前開的C# console application專案中,該程式碼可以正常執行。
  2. 而在新建立的專案中,則也出現一樣的問題。
然後靈機一動,把原本的http網址,改為https就可以執行了!

EX:網址為 http://www.google.com.tw/ 改為 https://www.google.com.tw/

最後還是不知道問題在哪裡,不過我猜測應該是因為該網站架在雲端上。

所以在不使用https的情況下,相關的http method功能就被該雲端的防火牆擋掉。

2017年1月17日 星期二

C# 使用ODBC呼叫Stored Procedures(SQLServer與Sybase)

下列cmdSqlStr為SQL字串,oODBCConnection為連線資料庫資料

Sybase
{call Procedure ID,'Name','Data',number}

SQLServer
{call Procedure(ID,'Name','Data',number)}

呼叫Stored Procedures
command = new OdbcCommand(cmdSqlStr, oODBCConnection);
oODBCConnection.Open();
reader = command.ExecuteReader();

2017年1月11日 星期三

C# foreach跳到下次迴圈

在符合條件的時候,程式不需繼續往下執行,直接跑下一筆資料

foreach (var i in test)
{
 if (符合條件)
  {   
    continue;
    //跳過當前循環體中的當次迴圈(i),進入(i+1),並繼續執行迴圈外的程式
    
    //break:直接跳出迴圈後,會繼續執行迴圈外的程式
    //return:直接跳出結束那個函式,不會繼續執行迴圈外的程式
  }
}

2016年11月21日 星期一

ASP.NET 有用過的using整理(持續更新)

using System.Threading.Tasks;
using System.Globalization;
using System.Threading;
using System.Configuration;
using Newtonsoft.Json;
using System.Net.Http;
using System.Xml.Serialization;
using System.IO;
using System.Web;
using System.Web.Routing;

以下為MVC架構才能使用(或是加入參考)
using System.Web.Mvc;
using System.Web.Helpers;

以下需從NuGet安裝
using Microsoft.Azure.Devices.Common;
using Microsoft.AspNet.SignalR;
using log4net;