在C#中,有什么区别:
public override string ToString()
{
return "Person: " + Name;
}
而且:
public static implicit/explicit operator string(Person person)
{
return "Person: " + Name;
}
答案 0 :(得分:4)
语义有些不同。
Conversion operators说“转换为字符串(或其他)类型”:
C#使程序员能够在类或结构上声明转换,以便可以将类或结构转换为和/或从其他类或结构或基本类型转换。
Object.ToString
应该返回
表示当前对象的字符串。
意思是“给我(通常是人类)对象的可读文本表示”。
(我并不是说这种语义总是受到尊重。例如,有时您可能会看到{
QPainter painter(printer);
painter.drawLine(10, 10, 200, 200);
}
和var casper = require("casper").create();
var mouse = require("mouse").create(casper);
var casper = require('casper').create({
verbose: true,
//logLevel: 'debug', // debug, info, warning, error
clientScripts: ["includes/jquery.min.js"],
pageSettings:{
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'
}
}
);
var fs = require('fs');
casper.start().thenOpen("http://www.1800flowers.com/orchids/purple-mini-101006?categoryId=400065010", function(){
console.log("Access Site 1800.Com");
this.wait(10000);
});
casper.then(function(){
this.capture("1800_1.png");
});
casper.then(function(){
this.evaluate(function(){
$('#zipCode').attr('value', '12345');
$('#locationCode').attr('value', 'Residence');
//document.querySelector('select[id="locationCode"]').focus();
});
this.mouse.click('#calendarLink');
this.wait(20000);
this.mouse.click('#DeliveryCalendarGPTDayCharges');
this.wait(20000);
//this.sendEvent('keypress', this.page.event.key.Down);
});
casper.then(function(){
this.capture("1800_2.png");
console.log(this.getCurrentUrl());
});
casper.run();
被用作转换函数。)