日期:2014-05-20 浏览次数:21134 次
IEnumerable<string> split(string, source, char c)
{
string s = "";
for (int i = 0; i < source.Length; i++)
{
if (source[i] == c)
{
yield return s;
s = "";
}
else
{
s += new string(new char[] { source[i] });
}
}
if (s != "") yield return s;
}
foreach (string s in split("hello world csharp", ' '))
{
Console.WriteLine(s);
}
Sub Main()
For Each number As Integer In SomeNumbers()
Console.Write(number & " ")
Next
' Output: 3 5 8
Console.ReadKey()
End Sub
Private Iterator Function SomeNumbers() As System.Collections.IEnumerable
' Use multiple yield statements.
Yield 3
Yield 5
Yield 8
End Function
// Synchronous version of a method that downloads the resource that a URI
// links to and accesses its content.
private byte[] GetByteArray(Uri currentURI)
{
// Declare an HttpClient object and increase the buffer size.
HttpClient client = new HttpClient() { MaxResponseContentBufferSize = 1000000 };
// The Get method returns an HttpResponseMessage that contains the
// content of the resource along with other information.
HttpResponseMessage httpRM = client.Get(currentURI);
// Use ReadAsByteArray to access the content as a byte array.
return httpRM.Content.ReadAsByteArray();
}
// Asynchronous version of the same method.
private async Task<byte[]> GetByteArrayAsync(Uri currentURI)
{
// Declare an HttpClient object and increase the buffer size.
HttpClient client = new HttpClient() { MaxResponseContentBufferSize = 1000000 };
// The GetAsync method returns a Task(Of T), where T is an HttpResponseMessage.
HttpResponseMessage httpRM = await client.GetAsync(currentURI);
// Use ReadAsByteArray to access the content as a byte array.
return httpRM.Content.ReadAsByteArray();
}
[<Generate>]
type Northwind = ODataService<"http://services.odata.org/Northwind/Northwind.svc">
let db = new Northwind.NorthwindEntities()
// A query expression.
let query1 = query { for customer in db.Customers do
select customer }
query1
|> Seq.iter (fun customer -> printfn "Company: %s Contact: %s" customer.CompanyName customer.ContactName)