حالا به نظر شما نگهداری این واژه ها برای مرور های بعدی چگونه باشد ؟
---
پ ن 1 : آخرین اشتراکها و آخرین نظرها و جستجو خیلی وقت ها بارگذاری نمی شوند.
پ ن 2:در حال حاضر هیچ راهی برای تهیه کتاب الگوهای طراحی شما هست ؟
string greeting = "Hello, C#";
که در این حالت مجموعهای از کاراکترها را ایجاد خواهد کرد:
string str = "abcde"; char ch = str[1]; // ch == 'b' str[1] = 'a'; // Compilation error! ch = str[50]; // IndexOutOfRangeException
string a="Hello \"C#\""; string b="Hello \r\n C#"; //مساوی با اینتر string c="C:\\a.jpg"; //چاپ خود علامت \ -مسیردهی
string c=@"C:\a.jpg";// == "C:\\a.jpg"
string source = "Some source"; string assigned = source;
string hel = "Hel"; string hello = "Hello"; string copy = hel + "lo";
string hello = "Hello"; string same = "Hello";
برای اطلاعات بیشتر در این زمینه این لینک را مطالعه نمایید.
Console.WriteLine(word1.Equals(word2, StringComparison.CurrentCultureIgnoreCase));
string score = "sCore"; string scary = "scary"; Console.WriteLine(score.CompareTo(scary)); Console.WriteLine(scary.CompareTo(score)); Console.WriteLine(scary.CompareTo(scary)); // Console output: // 1 // -1 // 0
string alpha = "alpha"; string score1 = "sCorE"; string score2 = "score"; Console.WriteLine(string.Compare(alpha, score1, false)); Console.WriteLine(string.Compare(score1, score2, false)); Console.WriteLine(string.Compare(score1, score2, true)); Console.WriteLine(string.Compare(score1, score2, StringComparison.CurrentCultureIgnoreCase)); // Console output: // -1 // 1 // 0 // 0
نکته : برای مقایسه برابری دو رشته از متد Equals یا == استفاده کنید و فقط برای تعیین کوچک یا بزرگ بودن از compareها استفاده نمایید. دلیل آن هم این است که برای مقایسه از فرهنگ culture فعلی سیستم استفاده میشود و نظم جدول یونیکد را رعایت نمیکنند و ممکن است بعضی رشتههای نابرابر با یکدیگر برابر باشند. برای مثال در زبان آلمانی دو رشته "SS" و "ß " با یکدیگر برابر هستند.
string doc = "Smith's number: 0898880022\nFranky can be " + "found at 0888445566.\nSteven's mobile number: 0887654321"; string replacedDoc = Regex.Replace( doc, "(08)[0-9]{8}", "$1********"); Console.WriteLine(replacedDoc); // Console output: // Smith's number: 08******** // Franky can be found at 08********. // Steven' mobile number: 08********
DateTime dt = DateTime.Now; string s = ""; for (int index = 1; index <= 20000; index++) { s += index.ToString(); } Console.WriteLine(s); Console.WriteLine(dt); Console.WriteLine(DateTime.Now); Console.ReadKey();
string declared = "Intern pool"; string built = new StringBuilder("Intern pool").ToString();
StringBuilder sb = new StringBuilder(); sb.Append("Numbers: "); DateTime dt = DateTime.Now; for (int index = 1; index <= 200000; index++) { sb.Append(index); } Console.WriteLine(sb.ToString()); Console.WriteLine(dt); Console.WriteLine(DateTime.Now); Console.ReadKey();
StringBuilder sb = new StringBuilder(15); sb.Append("Hello, C#!");
DateTime date = DateTime.Now; string name = "David Scott"; string task = "Introduction to C# book"; string location = "his office"; string formattedText = String.Format( "Today is {0:MM/dd/yyyy} and {1} is working on {2} in {3}.", date, name, task, location); Console.WriteLine(formattedText);
var first = someArray[0]; var second = someArray[1]; var third = someArray[2];
var [first, second, third] = someArray;
let [one, two, three] = ['globin', 'ghoul', 'ghost', 'white walker']; console.log(`one is ${one}, two is ${two}, three is ${three}`) // => one is globin, two is ghoul, three is ghost
let [firstMonster, , , fourthMonster] = ['globin', 'ghoul', 'ghost', 'white walker']; console.log(`the first monster is ${firstMonster}, the fourth is ${fourthMonster}`) // => one is globin, two is ghoul, three is ghost
let nested = [1, [2, 3], 4]; let [a, [b], d] = nested; console.log(a); // 1 console.log(b); // 2 console.log(d); // 4
let point = [1, 2]; let [xVal, yVal] = point; [xVal, yVal] = [yVal, xVal]; console.log(xVal); // 2 console.log(yVal); // 1
let pouch = {coins: 10};
let coins = pouch.coins;
let {coins} = pouch;
let pouch = {coins: 10}; let {coins: newVar1 } = pouch; console.log(newVar1); //10
let point = { x: 1, y: 2, z: { one: 3, two: 4 } }; let { x: a, y: b, z: { one: c, two: d } } = point; console.log(a); // 1 console.log(b); // 2 console.log(c); // 3 console.log(d); // 4
let mixed = { one: 1, two: 2, values: [3, 4, 5] }; let { one: a, two: b, values: [c, , e] } = mixed; console.log(a); // 1 console.log(b); // 2 console.log(c); // 3 console.log(e); // 5
function removeBreakpoint({ url, line, column }) { // ... }
function random ({ min=1, max=300 }) { return Math.floor(Math.random() * (max - min)) + min } console.log(random({})) // <- 174 console.log(random({max: 24})) // <- 18
jQuery.ajax = function (url, { async = true, beforeSend = noop, cache = true, complete = noop, crossDomain = false, global = true, // ... more config }) { // ... do stuff };
function returnMultipleValues() { return [1, 2]; } var [foo, bar] = returnMultipleValues();
function returnMultipleValues() { return { foo: 1, bar: 2 }; } var { foo, bar } = returnMultipleValues();
var {foo=3} = { bar: 2 } console.log(foo) // <- 3
var {foo=3} = { foo: 2 } console.log(foo) // <- 2
var {foo=3} = { foo: undefined } console.log(foo) // <- 3
var [b=10] = [undefined] console.log(b) // <- 10 var [c=10] = [] console.log(c) // <- 10
function inc(number, increment) { increment = increment || 1; return number + increment; } console.log(inc(2, 2)); // 4 console.log(inc(2)); // 3
function inc(number, increment = 1) { return number + increment; } console.log(inc(2, 2)); // 4 console.log(inc(2)); // 3
function sum(a, b = 2, c) { return a + b + c; } console.log(sum(1, 5, 10)); // 16 -> b === 5 console.log(sum(1, undefined, 10)); // 13 -> b as default
function getDefaultIncrement() { return 1; } function inc(number, increment = getDefaultIncrement()) { return number + increment; } console.log(inc(2, 2)); // 4 console.log(inc(2)); // 3
function sum(a, b, c) { return a + b + c; }
var args = [1, 2, 3]; console.log(sum(…args)); // 6
var args = [1, 2]; console.log(sum(…args, 3)); // 6
a = list[0], rest = list.slice(1)
[a, ...rest] = list
[1, 2].concat(more)
[1, 2, ...more]
list.push.apply(list, [3, 4])
list.push(...[3, 4])
function sum() { var numbers = Array.prototype.slice.call(arguments), result = 0; numbers.forEach(function (number) { result += number; }); return result; }
console.log(sum(1)); // 1 console.log(sum(1, 2, 3, 4, 5)); // 15
function sum(…numbers) { var result = 0; numbers.forEach(function (number) { result += number; }); return result; } console.log(sum(1)); // 1 console.log(sum(1, 2, 3, 4, 5)); // 15
function sum(…numbers, last) { // causes a syntax error
using Microsoft.ML.Data; namespace CreditCardFraudDetection.DataModels { public class ModelInput { [ColumnName("Time"), LoadColumn(0)] public float Time { get; set; } [ColumnName("V1"), LoadColumn(1)] public float V1 { get; set; } [ColumnName("V2"), LoadColumn(2)] public float V2 { get; set; } [ColumnName("V3"), LoadColumn(3)] public float V3 { get; set; } [ColumnName("V4"), LoadColumn(4)] public float V4 { get; set; } [ColumnName("V5"), LoadColumn(5)] public float V5 { get; set; } [ColumnName("V6"), LoadColumn(6)] public float V6 { get; set; } [ColumnName("V7"), LoadColumn(7)] public float V7 { get; set; } [ColumnName("V8"), LoadColumn(8)] public float V8 { get; set; } [ColumnName("V9"), LoadColumn(9)] public float V9 { get; set; } [ColumnName("V10"), LoadColumn(10)] public float V10 { get; set; } [ColumnName("V11"), LoadColumn(11)] public float V11 { get; set; } [ColumnName("V12"), LoadColumn(12)] public float V12 { get; set; } [ColumnName("V13"), LoadColumn(13)] public float V13 { get; set; } [ColumnName("V14"), LoadColumn(14)] public float V14 { get; set; } [ColumnName("V15"), LoadColumn(15)] public float V15 { get; set; } [ColumnName("V16"), LoadColumn(16)] public float V16 { get; set; } [ColumnName("V17"), LoadColumn(17)] public float V17 { get; set; } [ColumnName("V18"), LoadColumn(18)] public float V18 { get; set; } [ColumnName("V19"), LoadColumn(19)] public float V19 { get; set; } [ColumnName("V20"), LoadColumn(20)] public float V20 { get; set; } [ColumnName("V21"), LoadColumn(21)] public float V21 { get; set; } [ColumnName("V22"), LoadColumn(22)] public float V22 { get; set; } [ColumnName("V23"), LoadColumn(23)] public float V23 { get; set; } [ColumnName("V24"), LoadColumn(24)] public float V24 { get; set; } [ColumnName("V25"), LoadColumn(25)] public float V25 { get; set; } [ColumnName("V26"), LoadColumn(26)] public float V26 { get; set; } [ColumnName("V27"), LoadColumn(27)] public float V27 { get; set; } [ColumnName("V28"), LoadColumn(28)] public float V28 { get; set; } [ColumnName("Amount"), LoadColumn(29)] public float Amount { get; set; } [ColumnName("Class"), LoadColumn(30)] public bool Class { get; set; } } }
using Microsoft.ML.Data; namespace CreditCardFraudDetection.DataModels { public class ModelOutput { [ColumnName("PredictedLabel")] public bool Prediction { get; set; } public float Score { get; set; } } }
IDataView trainingDataView = mlContext.Data.LoadFromTextFile<ModelInput>( path: dataFilePath, hasHeader: true, separatorChar: ',', allowQuoting: true, allowSparse: false);
var dataProcessPipeline = mlContext.Transforms.Concatenate("Features", new[] { "Time", "V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20", "V21", "V22", "V23", "V24", "V25", "V26", "V27", "V28", "Amount" });
// Choosing algorithm var trainer = mlContext.BinaryClassification.Trainers.LightGbm(labelColumnName: "Class", featureColumnName: "Features"); // Appending algorithm to pipeline var trainingPipeline = dataProcessPipeline.Append(trainer);
ITransformer model = trainingPipeline.Fit(trainingDataView);mlContext.Model.Save(model , trainingDataView.Schema, <path>);
var crossValidationResults = mlContext.BinaryClassification.CrossValidateNonCalibrated(trainingDataView, trainingPipeline, numberOfFolds: 5, labelColumnName: "Class");
var predEngine = mlContext.Model.CreatePredictionEngine<ModelInput, ModelOutput>(mlModel); ModelInput sampleData = new ModelInput() { time = 0, V1 = -1.3598071336738, ... }; ModelOutput predictionResult = predEngine.Predict(sampleData); Console.WriteLine($"Actual value: {sampleData.Class} | Predicted value: {predictionResult.Prediction}");
private ITransformer SetupMlnetModel(string tensorFlowModelFilePath) { var pipeline = _mlContext.<preprocess-data> .Append(_mlContext.Model.LoadTensorFlowModel(tensorFlowModelFilePath) .ScoreTensorFlowModel( outputColumnNames: new[]{TensorFlowModelSettings.outputTensorName }, inputColumnNames: new[] { TensorFlowModelSettings.inputTensorName }, addBatchDimensionInput: false)); ITransformer mlModel = pipeline.Fit(CreateEmptyDataView()); return mlModel; }
هر زبانی دارای مجموعهای از اصطلاحات و روش هاست. CoffeeScript نیز از این قاعده مستثنی نیست. در این قسمت میخواهیم مقایسهای بین جاوااسکریپت و CoffeeScript انجام دهیم تا به وسیلهی این مقایسه، مفهوم عملی این زبان را درک کنید.
در جاوااسکریپت وقتی میخواهیم بر روی آرایهای با بیش از یک خانه، کاری را چندین بار انجام دهیم، میتوانیم از تابع ()forEach یا از همان قالب حلقهی for در زبان C استفاده کنیم:
for (var i=0; i < array.length; i++) myFunction(array[i]); array.forEach(function(item, i){ myFunction(item) });
myFunction(item) for item in array
var i, item, len; for (i = 0, len = array.length; i < len; i++) { item = array[i]; myFunction(item); }
همانند تابع forEach که در استاندارد ES5 قرار داشت، تابع دیگری به نام ()map وجود دارد که از نظر syntax بسیار خلاصهتر از حلقهی for میباشد. ولی متاسفانه همانند تابع forEach، این تابع نیز به دلیل فراخوانی تابع، بسیار کندتر از for اجرا میشود.
var result = [] for (var i=0; i < array.length; i++) result.push(array[i].name) var result = array.map(function(item, i){ return item.name; });
result = (item.name for item in array)
var item, result; result = (function() { var i, len, results; results = []; for (i = 0, len = array.length; i < len; i++) { item = array[i]; results.push(item.name); } return results; })();
یکی دیگر از توابع ES5، تابع ()filter است که برای کاهش خانههای آرایه استفاده میشود.
var result = [] for (var i=0; i < array.length; i++) if (array[i].name == "test") result.push(array[i]) result = array.filter(function(item, i){ return item.name == "test" });
result = (item for item in array when item.name is "test")
var item, result; result = (function() { var i, len, results; results = []; for (i = 0, len = array.length; i < len; i++) { item = array[i]; if (item.name === "test") { results.push(item); } } return results; })();
var i, item, len, result; for (i = 0, len = array.length; i < len; i++) { item = array[i]; if (item.name === "test") { result = item; } }
passed = [] failed = [] (if score > 60 then passed else failed).push score for score in [49, 58, 76, 82, 88, 90] # Or passed = (score for score in scores when score > 60)
passed = [] failed = [] for score in [49, 58, 76, 82, 88, 90] (if score > 60 then passed else failed).push score
var failed, i, len, passed, ref, score; passed = []; failed = []; ref = [49, 58, 76, 82, 88, 90]; for (i = 0, len = ref.length; i < len; i++) { score = ref[i]; (score > 60 ? passed : failed).push(score); }
using System.IO; using WkHtmlToXSharp; using System; namespace Test2 { public class WkHtmlToXSharpTest { public static void ConvertHtmlStringToPdfTest() { using (var wk = new MultiplexingConverter()) { wk.Begin += (s, e) => Console.WriteLine("Conversion begin, phase count: {0}", e.Value); wk.Error += (s, e) => Console.WriteLine(e.Value); wk.Warning += (s, e) => Console.WriteLine(e.Value); wk.PhaseChanged += (s, e) => Console.WriteLine("PhaseChanged: {0} - {1}", e.Value, e.Value2); wk.ProgressChanged += (s, e) => Console.WriteLine("ProgressChanged: {0} - {1}", e.Value, e.Value2); wk.Finished += (s, e) => Console.WriteLine("Finished: {0}", e.Value ? "success" : "failed!"); wk.GlobalSettings.Margin.Top = "0cm"; wk.GlobalSettings.Margin.Bottom = "0cm"; wk.GlobalSettings.Margin.Left = "0cm"; wk.GlobalSettings.Margin.Right = "0cm"; wk.ObjectSettings.Web.EnablePlugins = false; wk.ObjectSettings.Web.EnableJavascript = false; wk.ObjectSettings.Load.Proxy = "none"; var htmlString = File.ReadAllText(@"c:\page.xhtml"); var tmp = wk.Convert(htmlString); File.WriteAllBytes(@"tst.pdf", tmp); } } } }
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />