Friday, 26 February 2016

京东一直在亏,刘强东为什么还那么有钱?

对比一下苏宁、国美你们就会知道为什么京东一直在亏,而刘强东还那么有钱。

  为什么苏宁,国美,京东有的发展非常迅猛,有的负债累累,有的甚至慢慢淡出人们的视线。你们知道现金流对生意有多重要吗?国美,苏宁们卖家根本不挣钱,或者只赚点辛苦钱。为什么他们还要开那么多店,还要低价大甩卖?你也许会说,他们要扩大规模,击倒竞争对手,靠规模优势击倒对手,获妈利润,这个等下跟你们解释三家公司经营模式的不同。

  现在不挣钱,少挣钱没关系的,打败了对手,以后来就可以挣大钱了吗?告诉你:纯属扯淡。他们的目的就是获取现金流,现金流真的这么重要吗?是的。美苏就是靠现金结算流进行资本动作来赚钱的。举个例子:假如我每天给你1万,注意是每天都给,要求你3个月之后还我1万,注意也是每天都还,你一年的现金流就是365万。你挣钱了吗?天天有进有出,他们转的就是起初的90万和365万的现金流还有银行的利息,道理很简单。美苏,假设一年100亿营收,延迟三个月还款,手里就是25亿现金流!延迟六个月还款,手里就是50亿!假设疯狂开店扩大现金流,一年200亿营收了,延迟三个月还款,手里就是50亿,延迟六个月,就是100亿!美苏拿这些钱会存银行吗?

  在2007年之前中国经济大发展、大通胀的年代,在房地产疯狂涨价的年代,有这么多钱不搞地产、不进行资本运作,拿一块地盖个楼,几年之后房价涨几倍,你说赚多少钱?何况美苏们通过房地产和资本运作挣钱了,银行们反而会求着他们贷款,他们拿着银行的廉价资金,就可以赚更多的钱!

  所以,家电连锁,只是美苏获取现金流的手段!卖家电只能挣点小钱,就算赔点也没什么,而在别的地方可以挣到多得多的利润!但前提是:现金流一定要充足!

  这,才是美苏们疯狂开分店的根本原因!

  所以,分析苏宁(以及有巨大现金流的企业)的股价,绝对不能只看家电本身!一些机构和装B的白痴,仍然在分析苏宁的销售额、毛利什么的,并据此信心百倍,散户们也在憧憬苏宁的成长性,在懂行的看来简直可笑得要命!

  那么美苏现在怎么样呢?

  我们还得从现金流入手:格力,早就先款后货了,苏宁捞不到便宜,所以苏宁不愿意卖格力。由于价格问题,国美也和格力闹翻。可2000年之后,尤其是2005年之后,海尔、海信、创维,越来越多的家电厂商要求先款后货,或者最多一个星期、半个月就要付款。所以美苏的现金流大减。比如苏宁和国美2011年的销售额都是1100亿元,如果还是十几年以前的宽松环境,可以占压厂商三个月甚至半年的资金,美苏手上就有275亿元或550亿元;而现在只能占用半个月了,手里的现金立马变成46亿!

  多少见不得人的项目,多少急需现金的亏损项目,会因为现金流大减而露出水面?所以当我听说苏宁在增发47亿之后又要借债80亿,我倒吸一口凉气。苏宁不断融资,根本不是装B的人说的“搞电子商务,扩大物流”。而国美也在这几天五折卖地,把国美商都卖给了海航集团,拿到50亿元,远低于2009年的100亿元。很显然,国美也是缺乏现金流才不得不这么干的。

  2007年的时候,中国经济总体还不错,美苏毕竟有多年的积累,靠吃老本和银行贷款,也能继续维持。可是这几年中国经济形势始终不见好转,银行也控制得越来越紧,美苏就会越来越缺钱。现在知道他们的形势有多严峻了吧?

  好了,再分析一下美苏目前的经营环境,看看他们的前途如何?

  美苏已经不可能采取过去那种疯狂占压现金、疯狂开店扩大现金流、再拿现金流大肆进行资本运作的经营模式了。首先,付款方式导致现金流大幅减少。其次,店已经够多,而且电子商务发展起来了。京东冲击的,既是美苏的利润,更是现金流!第三,美苏有限的现金流也不可能有过去那么多好项目了,因为中国经济整体减速,商业地产形势严峻,所以美苏还会有多少利润?第四,连锁店过去好歹还能挣点小钱,现在在电子商务的冲击下肯定是赔钱的,而且越赔越多。但烫手的山药不好甩,关个店相当于割一块肉啊,方方面面都要赔钱!

  总之:现金流紧张多了,利润大幅减少甚至亏损,这就是美苏目前面临的局面。靠电子商务?只能暂时获得现金流,而且中短期不可能赚钱!

  理论上说,只要有现金流,亏损了也都关系!比如一个企业一年现金流100亿,每年亏1000万。那么它运作几百年都没问题,因为10年才亏1亿,100年才亏10亿,只要现金不断流转,稍微延期几天或几个月还款,谁知道它是赚是赔啊。所以现金流有多重要知道了吧?赔钱的企业只要有现金流,就可以耐心等待时来运转;而赚钱的企业没有了现金流,就会立马死掉!

  用这个理论我再分析一下京东。只要京东的现金流不断扩大,一年赔点钱算什么?他完全可以靠现金流长期支撑!所以脑残们总分析京东的利润,以为京东每年亏几亿十几亿,融不了资肯定撑不下去,幻想着它在几年内倒闭。我只从现金流来分析:假如京东每年的营收都急剧扩大(年增50%以上,目前这个目标很轻松),那么手里的现金完全可以应付亏损和延期还款!

  例如,假设京东今年360亿营收,亏20亿,延期还款一个月,那么京东到年底手里的钱反而多出了10亿!(30亿应付账款,减20亿亏损)。假设明年京东营收540亿,又亏20亿,但年底手里只会减少5亿(45亿应付账款,减20亿亏损,再付掉去年留下的30亿应付账款)。所以只要京东的营收越来越多,而亏损不是大幅增加的话,京东手里的钱足够用很多年。

  所以,京东、苏宁、国美之战,表面上看是市场份额之战,利润之战,但从财务角度来说,更加紧迫的原因,是现金流之战!谁的现金流被打掉,谁的裤衩立刻被扒下来!那么现在谁最急迫呢?显然是苏美啊,呵呵。都割肉卖地、连续融资了,现金流能不急吗?所以苏美只能靠欺负京东吸引眼球了,而京东,当然要奋起反击。

  所以表面上看,电商之战似乎是一场闹剧。但圈内人都明白里面的道理。刘强东很明白,张近东、黄光裕们,也很明白。但是,装B的不明白,广大仍然看好苏宁的散户们也不明白。他们以为刘强东在虚张声势,色厉内荏,但真正虚张声势的是苏宁。

献给所有的女人!好透彻的一番话!

好透彻的一番话!一个女人遇到一个好男人,一辈子都不需要成熟,当一个女人越来越成熟越来越坚强,就证明他并没有遇到一个好男人!!



1. 女人记住了,选男人没别的,就是选疼你的!不管他再有钱,再有才华,再帅,再有口才,再有智慧,再有能力,再孝顺,再大爱助人,要是不疼你,一点屁用都没有!!



2. 心理医生给女人的忠告“无论你有多喜欢对方,爱情里的主动必须是男人。如果这个男人不主动,宁愿错过。”



3. 没有伴侣的时候,即使是孤单,也可以很快乐。 这个时候,孤单是一种境界。 你可以一个人走遍世界,结识不同的朋友。你也可以选择下班之后,立刻回到家里, 享受自己的世界。 一个人的孤单,并不可怕。 最可怕的,是有了伴侣之后那份孤单。



4. 一位父亲对女儿的爱情忠告,有些人适合你但不爱,有些人爱你却不适合。想知道爱不爱,别用耳朵听要用眼睛看。看他付出多少。而想知道适合与否,别问他有什么,而要问你的笑和眼泪。一直让你流泪的条件再好也不能要,一直让你笑的,就算吃苦也值得。宁可笑着累,也不要哭着享受。



5. 找一个会在钱包里放你照片的男人,敢让你咬在身上留印记的男人,敢在微博扣扣微信写你的男人,敢让你知道他一切的男人,就算在你任性说分手的时候也不会抛下你会紧紧拥抱你不让你走的男人,敢对你一生负责任并且好好对你的男人。



6. 如果一段感情,没有把你变成更好的人,那么很遗憾你跟错了人。如果有人真爱你,那他无论忍受多少,都不会愿意跟你分开。那种嘴上说爱,其实离你越来越远的,不过是谎言。那种满嘴真爱,其实一点亏都不肯吃的,无非是路过。真爱,就是奔结果去的。没结果的,只能叫曾爱过。无论你爱过谁,结果只有一个。陪你到最后的,才是真爱。一个人最幸福的时刻,就是找对了人,他宠着你,纵容你的习惯,并爱着你的一切。



7. 有些男人爱你,是想跟你过一辈子。有些男人爱你,只想和你过一阵子。过一辈子的男人爱你不会很用力,因为他要把力气放在生活上。过一阵子的男人必会爱你爱的死去活来,因为他只需要爱过你、睡过你和抛弃过你就可以。所以好男人照顾你的生活,坏男人照顾你的感情。



8. 男人对女人的伤害,不一定是他爱上了别人,而是他在她有所期待的时候让她失望,在她脆弱的时候没有给她应有的安慰。



9. 聪明的男人会把他的女人宠的无法无天,让别的男人都受不了她的臭脾气,二逼男人会用他的臭脾气把他的女人变得见到任何一个献殷勤的男人都有相见恨晚的感觉。



10.姑娘们记住:宁愿找一个没太多钱但舍得给你花的男人,也不要找一个明明有钱却对你事事抠算的男人。男人存折上的数字不重要,重要的是有多少花在你身上。永远不要自我催眠说只信爱情不屑物质,在现在这个人人敏感金钱的年代,肯为你抛洒自己的血汗钱才代表真心爱你,因为小气的人永远只爱自己。



11.对爱你的女人,你可以让她哭,让她受委屈,但不要让她沉默,因为无言是一种最深的伤痛,是一个女人最悲的哭声。你要知道,女人最爱倾诉,不管生活有多苦多难,无论她有没有心事,她都想和你讲述关于她的一切,这是她爱你的最好方式。如果有一天,她突然安静了,你也走到了后悔的边缘。



12.女人要记住了:你对自己好,就会变得更出色,在别人眼里,就更有价值。而你对别人付出太多,自己就会变得更薄弱,你的利用价值完了,也就完了。所以,别老想着取悦别人,你越在乎别人,就越卑微。只有取悦自己,并让别人来取悦你,才会令你更有价值。一辈子不长…对自己好点!

Wednesday, 24 February 2016

詹长龙谈卡城房地产

房屋贷款



银行是否批准按揭贷款,取决于申请人的还款能力和还款意愿。马上找到工作,有收入的新移民,在没有其他家庭债务的情况下,如果首付款高于房价的20%,按照现行利率,贷款金额最高为家庭税前年收入的5-6倍;如果首付款低于房价的20%,则贷款最高金额为家庭税前年收入的4-5倍,自住房最低首付款比例为5%。大多数新移民无法很快找到工作,在没有收入的情况下,登陆5年内的新移民,首付35%的情况下,也可以申请到按揭贷款,而且不需要验证收入。这个35%首付,贷款65%的规定,也适合外国人(比如游客和留学生)。持有工作签证的外国人,贷款要求跟新移民类似。至于还款意愿,加拿大的金融机构几乎完全依赖申请人的信用记录报告来判断。有严重不良信用记录的借款人,通常会被拒绝。对于新移民,没有信用记录是正常的,落地半个月内就贷款买房,当然不会有太多信用记录,只要借款人没有不良信用记录即可。

从买房流程上来看,每个购房者开始买房的第一步最好是在银行申请预授信,在看房和签订买房合同之前,完成贷款申请。这样做的好处有三个:确保信用记录没有问题,没有未发现的没有及时偿还的债务,信用记录没有被张冠李戴;锁定当前的利率;知道自己能够借到多少钱。1.获得银行的预授信文件之后,消费者可以在贷款金额的基础上加上自己的首付款,从而确定目标房价。2.在利率锁定期内完成房产交割,可以适用锁定的利率,通常利率锁定期为90-120天。3.如果在申请预授信时发现信用记录有问题,包括被张冠李戴,发现有未偿还债务,需要立刻采取行动予以补救。

加拿大商业银行对购房首付款的要求不尽相同。如果借款人首付款低于房屋市值的20%,则商业银行需要购买按揭贷款违约保险,保费会由申请人承担,这一点,所有银行的要求都是一致的。至于首付款来源和存款时间各个银行都不同。有些银行需要查验最近三个月的银行交易记录,有些银行要求出具首付款款项来源。对于很多新移民来说这些要求比较难以满足,刚刚登陆就买房,则无法提供三个月对账单;由于中国的外汇管制(目前每人每年汇出等值5万美元),很多从中国汇来的款项很难证明是来自借款人本人在的中国账户。BMO(满地可银行)和CIBC(帝国商业银行)在这方面的要求比较合理,借款人在申请按揭贷款时,不要求账户中已经准备好首付款,只要在房屋交割之前,首付款存入设在加拿大的银行账户即可,没有额外的要求。

签订买房合同后,已经申请了预授信的客户,需要交将买卖合同提供给银行,将预授信转为正式批准。没有申请预授信,先签订买卖合同的消费者,最好在签订定合同时设置一个保留条件,如果在5天内无法获得按揭贷款批准,将有权取消买房合同并撤回购房定金。加拿大的银行与中国的银行不同,贷款审批时完全依据借款人所述信息就可以批复,然后再去验证,因此贷款批复的速度通常都非常快,一至两天即可完成,然后再去验证,所以申请人在申请时所述信息的准确性非常重要。对于没有收入的新移民,手续非常简便,银行只需验证登陆时间、首付款和房价即可,整个过程3-7天即可全部完成。


贷款利率分为固定利率(fixed rate)和浮动利率(variable rate)两类。固定利率是指在贷款期内利率不变,X%,从第一天开始,至贷款合同到期,利率始终是X%。另一种利率是浮动利率,是一个参数加上或减去X%,在贷款期内,这个参数会变,但X%不变,例如P-0.3%,是指在贷款期内,P(prime rate最优惠利率)会变,但-0.3%不变。浮动利率,利率风险较大,但通常比相同贷款期的固定利率低。

从贷款到期前全部还清贷款并解除抵押是否有罚款来分类,贷款可以分为开放式和封闭式。如果借款人选择开放式贷款,在贷款期内可以随时还清贷款并解除抵押,没有罚款。如果选择封闭式贷款,只要贷款没有到期,提前还清贷款并解除抵押就会有罚款。

从以上分类可以看出,加拿大按揭贷款可以分为固定利率封闭式贷款,固定利率开放式贷款;浮动利率开放式贷款,以及浮动利率封闭式贷款。借款人可以根据自己的实际情况作出选择。

在加拿大,贷款期与还款期是不同的。借款人可以和银行签订1年期的贷款合同,但可以预计30年还清贷款,即,贷款期1年,还款期30年。一年到期后,借款人可以选择全部付清贷款,或在原银行续借,或从其他银行借款还给原贷款银行。

借款人可以自己选择按揭贷款还款频率,例如,每周付,每两周付,每月付,最长间隔为每月付。间隔越短,越能够节省利息支出。同时,视贷款合同规定,借款人还可以每年一次性还最初贷款总额的10-20%;这样的话,贷款非常快就可以还清。

[IMG]


最后提醒一下,贷款其实也是一门学问。政策和银行的规定时时在变,您最好及时联系贷款经纪人咨询。

卡城的区域



卡城区域,如果按照邮编来,自然是4个区:NE、NW、SW和 SE。从房地产分区来讲,传统也是4个区(请注意邮编的区域和房地产的区域是略有有差别的)。

不过今年1月地产局把它细分为8个区了。

这8个区中,中国人最多的应该是西北区(NW)。西北区由于学区好,小区环境优良,交通有轻轨、治安和购物都不错,所以同胞多,尤其是Edgemont、Hamptons、Hawkwood和Arbour Lake这几个小区。北区(N)Panorama Hills (俗称胖大妈山)一带中国人也不少。近几年,在工程公司上班的同胞,也有部分安家在South和South East的Evergreen和Cranston附近一带。西区是豪宅区,到市中心近,缺点是生活配套差些,学区也不怎么样(不过有钱银不怕,可以上Webber Academy等有名私校)。NE的房价最便宜,可治安是卡城最差的,经常有恶性案件,同胞怕怕,去的不多。

房地产投资的金律就是:位置、位置、位置。其实自住也一样,位置非常重要,位置的第一个含义就是小区。

2015年卡城的房地产回顾

受石油低价的影响,卡城2015年的房地产疲软。总销售18,830套,比2014年减少26.3%;其中独立屋销量为11,517套,同比下降23.7%。价格方面,12月份所有户型(包括独立屋,公寓和Townhouse)的基准价(Benchmark Price)是$448,800,而2014年12月的数据是$459,500,下降2.33%。12月底的总库存是4,336套,比2014年12月的3,384套增加了28.1%。

展望2016年的房地产市场,依然是阴云密布;石油价格的低迷,还将继续拖累卡城房地产市场的表现。目前的卡尔加里房地产,已经是买方市场。该不该入市,要看每个人自己的需求,等待石油价格上扬是一个选择。同时目前市场上,现在能找到价格非常吸引人的房子,理由是卖家急于出手。目前卡城的房地产价格,已经远低于多伦多和温哥华的价格,形成价值洼地。而同时,卡城的家庭收入,虽然没有最新数据出来,应该还是保持加拿大大城市No 1的位置,与这里的房地产价格形成反差。

对海外购购买者来说,加币的疲软和利率的低廉,是投资房地产的有利因素。

准确分析房地产走势,是很难的。不确定因素很多,最主要的是石油价格。目前很多人都唱衰石油,似乎都是专家;可是2014年8月石油还在100美元的时候,又有谁能预测到2015年一月会跌到40多?

该不该入市,何时入市,每个人的看法不一样;同时,每个人的情况也都不一样:有些人有刚需,有些人根本不用急。应对之策,你可以等等,时间在你一边。如果你有刚需,就挑市场性价比高的下。


自我介绍:


2006从多伦多搬来卡尔加里,至今从事房地产6年。

房地产投资顾问,Discover Real Estate
美国硕士、清华学士
卡城、阿省及加拿大三级地产局会员
认证公寓专家、认证谈判专家

老詹做的是长期生意。从不忽悠客户,也不催客户下单,买卖信息公开透明。看房时如实指出房子的优缺点,绝对不推荐有硬伤或者将来不容易卖出的房子给客户。

再说两句自己的经历:

本科在清华念的是高分子材料和化工,研究生在美国德州读的是材料工程。国内工作主要是在深圳大学当老师,后移民多伦多。在卡城的石油工程公司做过5年的工程男(metallurgist)。秉承“自强不息,厚德载物”的校训,做事认真负责,做人实在坦诚,尽心尽力为客户谋利益,受到他们的好评,也经常得到老客户的推荐。不少客户最后都成了朋友,这是老詹最开心的事情。

我们家算是卡城很普通的移民家庭。住西北NW所谓的学区之一Hamptons 小区。家里领导是会计师。小孩两个,女儿在滑铁卢大学读物理,儿子在Westmount Charter School 上Kindergarten,今年9月份上一年级。本人是音乐发烧友,喜欢钢琴和古典音乐;也是车迷,喜欢开车自驾游。如果您有同样爱好,欢迎交流。来加拿大十几年,经历了移民生涯的酸甜苦辣,现在生活自得其乐,偶尔也回去看看伟大祖国的建设成就。

期望与各位共同探讨,理性交流。如果你有任何问题,欢迎联系我:微信zhanCHANlong,电话403-366-4998或者邮件Jameszhan66@gmail.com;网站:www.SellBuyHomes.ca

顺祝大家元宵节快乐、万事如意!谢谢各位!!

詹长龙 房地产投资顾问
美国硕士、清华学士
卡城、阿省及加拿大三级地产局会员
认证公寓专家、认证谈判专家
网站:www.SellBuyHomes.ca
微信: zhanCHANlong 电话: 403-366-4998 Email: Jameszhan66@gmail.com

今年报税政策3大主要变动


Tuesday, 23 February 2016

.net I review

string

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; //vb   need imports system.text
using System.Threading.Tasks;

namespace strings_demo
{

    class Program
    {

        static void Main(string[] args)
        {
            string a = "hello";
            for (int x = 0; x < a.Length; x = x + 1)
                Console.WriteLine(a.Substring(x, 1));
            char[] b = a.ToCharArray(); //vb dim b() as char=...
            string b2 = new string(b);//vb dim b2 as new string(b)
            foreach (char c in b) Console.WriteLine(c.ToString());
            //vb  for each c as char in b
            byte[] d = Encoding.ASCII.GetBytes(a);//vb dim d() as byte=
            string d2 = Encoding.ASCII.GetString(d);
            string e = "1,bob,ab";
            string[] f = e.Split(',');
            //vb  dim f() as string = e.split(convert.tochar(","))
            for (int y = 0; y < f.Length; y = y + 1)
                Console.WriteLine(f[y]);
            string f2 = String.Join(",", f);
            string g = ""; //non-modifiable string (variable length)
            //re-allocates memory everytime string is changed
            for (int z = 1; z <= 9; z = z + 1) g = g + z.ToString();
            Console.WriteLine(g);
            StringBuilder h = new StringBuilder(20);//modifiable string
            //above is fixed length in memory
            for (int z2 = 1; z2 <= 9; z2 = z2 + 1) h.Append(z2.ToString());
            Console.WriteLine(h);
            string i = "12345";
            int total = 0;
            for (int z3 = 0; z3 < i.Length; z3 = z3 + 1)
                total = total + Convert.ToInt32(i.Substring(z3, 1));
            Console.WriteLine(total);
            total = 0;
            char[] j = i.ToCharArray();//gets ascii values not 1,2,3...
            for (int z4 = 0; z4 < i.Length; z4 = z4 + 1)
                //must convert char's to string's before converts
                total = total + Convert.ToInt32(j[z4].ToString());
            //vb total=total + convert.toint32(convert.tostring(j(z4)))
            Console.WriteLine(total);
         

            Console.Read();
        }
    }
}

--------------------------------------------------------------------------
inherit

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace inheritance
{
    class person
    {   public string name;
        protected long phone;
        private string email;
        public person()  //public sub new()   constructor
        {   Console.WriteLine("in person");
        }
        public person(string n, long p)
        {//constructors are run top-down,  destructors are run bottom-up
            name = n;
            phone = p;
        }
        public void print() //vb  public sub print()
        {   Console.WriteLine(name+phone);
        }
    }
    class worker : person //is-a inheritance
        //vb  on second line   say    inherits person
    {   public int sin_number;
        public double salary;
        public worker()
        {   Console.WriteLine("in worker");
        }
        public worker(int sin, double s,string n,long p):base(n,p)
        {   sin_number = sin;  //vb  above is mybase.new(n,p)
            salary = s;
        }
        public void print()
        {//vb mybase.print()
            base.print();  //calls method in parent class
            Console.WriteLine(sin_number + " " + salary);
        }
    }
    class salesperson : worker
    {   public double commission;
        public salesperson()
        {   Console.WriteLine("in salesperson");
        }
        public salesperson(double c,double s,
                           int sin,long p,string name):base(sin,s,name,p) //named constructor
            //vb  public sub new(c as double)
            //vb  on second line   say    mybase.new(sin,s,name,p)
        {   commission = c;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            salesperson s = new salesperson(0.10,40000,123,5551111,"ed");
            s.print();
            Console.Read();
        }
    }
}

------------------------------------------------------------------------------------------
inherit 2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace inheritane2
{
    class animal //c# use sealed class to protect
                 //vb use notinheritable class to protect
    {
        public string name="charlie";
        public int age=3;
        public virtual void print() //vb overrideable
        {
            Console.WriteLine(name+age);
        }
    }
    class dog : animal //is-a
    {
        public string sound = "woof";
        public override void print() //vb overrides
        {
            //base.print();
            Console.WriteLine(sound);
        }
    }
    class engine
    {
        public int horsepower;
    }
    class transmission
    {
        public int gears;
    }
    class car
    {
        public engine eng = new engine(); //has-a
        //public eng as new engine()
        public transmission trans = new transmission();
    }
    static class copyright //uses-a
    { //vb shared
        static public void show()
        {
            Console.WriteLine("Copyright SAIT");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            car c = new car();
            c.eng.horsepower = 300;
            c.trans.gears = 4;
            dog d = new dog();
            copyright.show(); //no need to use new command
            Console.WriteLine("hi");
            Console.Read();
        }
    }
}

----------------------------------------------------------------

multi-forms

--------------FORM 1 -------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace windemo2
{
    public partial class Form1 : Form
    {
        public static string data;
        //vb public shared data as string
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(textBox1.Text + textBox2.Text + textBox3.Text);
            textBox3.Text = "changed";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(textBox1.Text);
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {//does not activate
            if (e.KeyCode == Keys.F1)
                MessageBox.Show("f1 pressed");
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F1)
                MessageBox.Show("f1 pressed");
            if (e.KeyCode == Keys.F2)
                MessageBox.Show("f2 pressed");
            textBox2.Text = e.KeyCode.ToString();
            if (e.KeyCode.ToString() == "Next")
                MessageBox.Show("page down pressed");
        }

        private void textBox2_KeyDown(object sender, KeyEventArgs e)
        {
            textBox1_KeyDown(sender, e);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            data = textBox1.Text; //put parameter in shared variable
            //pass parameter in constructor
            Form2 x = new Form2(textBox1.Text);//vb  dim x as new form2()
            x.parameter = textBox1.Text; //pass parameter with get/set
            x.f = this;//pass parameter using pointers
            //vb  above is = me
            //above must change form designer code
            //to have public security on textboxes to pass
            //modal call
            //x.Show();
            //non-modal call
            x.ShowDialog();
            textBox1.Text = data;//get from shared variable
            textBox5.Text = x.parameter;//get/set retrieval
            //MDI call
            //x.MdiParent  = this;//vb  =me
            //x.Show();
        }
    }
}


---------------------- FORM 2 ------------------

sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace windemo2
{
    public partial class Form2 : Form
    {
        public Form1 f;//vb public f as form1
        public string parameter//public property parameter as string
        {
            set { textBox3.Text = value; }
            get { return textBox3.Text; }
        }
        public Form2()
        {
            InitializeComponent();
        }
        //vb  public sub new()
        //vb  end sub
        public Form2(string x) //constructor
        {//vb public sub new(x as string)
            InitializeComponent();
            textBox1.Text = x;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("hi");
        }

        private void Form2_Load(object sender, EventArgs e)
        {//grab shared variable
            textBox2.Text = Form1.data;
            textBox4.Text = f.textBox1.Text;//grab pointer
        }

        private void button2_Click(object sender, EventArgs e)
        { //move back to public shared variable
            Form1.data = textBox2.Text;
            f.textBox6.Text = textBox4.Text;//pass with pointer
            this.Close();
        }
    }
}

--------------------------------------------------------------------

object

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace objects3
{
    static class order //vb remove static
    {   static public int ordernumber; //vb  change static to shared
        static public double total;
    }
    class customer
    {   public string name;
        static public double creditlimit;
        public const double shiprate = 5.00; //like a static
        public readonly double rate2 = 10.00; //new version of const
    }
    class bank
    {
        public double account, amount, interest;
        public bank() { }   //vb  sub new()
        public bank(double am)
        {
            amount = am;
        }
        public bank(double am, double inter):this(am)
        {
            //amount = am;
            interest = inter;
        }
        public bank(double acc, double am, double inter):this(am,inter)
            //vb  public sub new(acc as double, ...)
        {
            this.account = acc;
            //in vb   me.new(am,inter) inside the code
            //amount = am;
            //interest = inter;
        }
     

    }
    class payroll
    {
        public string name=""; //attribute (no code attached)
        public payroll() { }
        public payroll(string n, double r)
        {
            this.name = n;
            this.rate = r;
        }
        public payroll(double r, string n):this(n,r)
        {
            //me.new(n,r)
        }
        private double _rate=0;
        public double rate //property (code attached)
        {
        get { return _rate;  } //somebody is printing variable
        set { if (value <= 100) _rate = value;  } //getting a value
        }
        //vb
        //dim _rate as double
        //public property rate as double
        //   set
        //   end set
        //   get
        //   end get
        // end property
        public double tax { get; set; } //useless
    }
    class Program
    {   static void Main(string[] args)
        {
            payroll p = new payroll();
            p.rate = 20;
            p.rate = 2000;
            Console.WriteLine(p.rate);

            Console.Read();
        customer c = new customer();
            c.name = "ed";
            Console.WriteLine(c.rate2);
            customer.creditlimit = 10000;
            customer d = new customer();
            d.name = "mary";
            order.ordernumber = 10;
            order.total = 1000;
            worker.worker w = new worker.worker();
            w.name = "bob";
            w.salary = 60000;
            Console.WriteLine(w.name);
        }
    }
}

------------------------------------------------------------

object 1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace object1
{
    public class time
    {
        public int hour, minute, second;
        ~time()//destructor
        {
            Console.WriteLine("in destructor");
            Console.WriteLine("in destructor");
            Console.WriteLine("in destructor");
            Console.Read();//waits for a bit
        }
        public time() //empty constructor
        {
            Console.WriteLine("in constructor");
            hour = 0; minute = 0; second = 0;
        }
        public time(int x, int y, int z) //full constructor
        {
            this.hour = x;
            this.minute = y;
            this.second = z;
        }
        //fix for printing
        public override string ToString()
        {
            return hour+":"+minute+":"+second;
        }
        //fix for copying
        public void Copy(time x)
        {
            this.hour = x.hour;
            this.minute = x.minute;
            this.second = x.second;
        }
        public override bool Equals(object obj)
        {
            time x = (time)obj;
            return this.hour==x.hour && this.minute==x.minute &&
                                this.second==x.second;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            time t = new time(10,0,0); //t is an object
            //t.hour = 10;
            time t2 = new time();
            t2.hour = 10;
            Console.WriteLine(t);  //problem 1 with objects
            //if (t == t2) Console.WriteLine("same"); //problem 2
            if (t.Equals(t2)) Console.WriteLine("same");
            else Console.WriteLine("different");
            time t3 = new time();
            t3 = t; //problem 3
            time t4 = new time();
            t4.Copy(t);  //must use function to copy
            t.hour = 15;
            Console.WriteLine(t4.hour);
            Console.Read();
            //time.hour = 10;

        }
    }
}

----------------------------------------------------------------

error

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace trap
{

    class Program
    {
        static void Main(string[] args)
        {
            double x=0;
            top: //assigns a label
            Console.WriteLine("enter a number");
            string s = Console.ReadLine();
            try
            {
                x = Convert.ToDouble(s);//can be many lines of code
            }
            catch (DivideByZeroException e1)//e1 is any name
            //can catch specific errors
            { Console.WriteLine("math error"); }
            catch (Exception e2) //catches all remaining errors
            { Console.WriteLine(e2.Message);
             goto top;
            }
        top2: Console.WriteLine("Enter second number");
        double x2 = 0;
        try { x2 = Convert.ToDouble(Console.ReadLine()); }
        catch (Exception e3) { goto top2; }

        int a = 1, b = 1, c=0;
        try { c = a / b; goto bottom; }
        catch (Exception e4) { Console.WriteLine(e4.Message); }
        finally { Console.WriteLine("at end"); }
            //finally runs if errors exists AND if no errors exist
            //.NET makes sure that if any code inside a try
            //does a return, a goto, or if the program fails
            //or is closed
            //then finally code will always run.
            //useful for closing files, cleanup, closes databases,
            //and writing things to log files
            bottom:
            Console.WriteLine(x);

            short ss = 32767;
            try { ss = checked((short)(ss + 1)); }
            catch (Exception e5) { Console.WriteLine("overflow"); }
            Console.WriteLine(ss);

        top3: Console.WriteLine("Enter third number");
            double x22 = 0;
            if (!double.TryParse(Console.ReadLine(), out x22)) goto top3;
            //vb out x22
            //  change it to <outattribute> byref x22 </outattribute>
            Console.WriteLine(x22);

            Console.ReadLine();
        }
    }
}

-----------------------------------------------------------------------------------------------

format

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace formats2
{
    class Program
    {
        static void Main(string[] args)
        {
            string x = "1234.56", y = "22.80",z="bob";
            double a, b;
            int i;
            a = Convert.ToDouble(x);
            i = Convert.ToInt32(a);
            b = (double)a; //vb   = ctype(a,double)
            Console.WriteLine("{0,10}{1,15:c}{2,-15:f3}", z, a, b);
            Console.ReadLine();

        }
    }
}

北京、上海的家庭,年收入多少可以进入前 20%?多少可以进入前 50%?

  • 统计数据不靠谱,它应该叫"已税工资收入"才对。但是有钱人收入都不是工资,也不怎么纳税。有个很好笑的事情:中国的个人所得税起征点只有3500元,但是“现在中国交个税的人只有2800万人,占不到整个人口总数的2%。这说明个税已经相当边缘化了,如果再提高起征点,还有多少人能交税呢?”. 可见官方统计里的个人收入水平和有钱人比例距离事实差别有多大! 灰色收入就不说了,比如你今年卖了套房子,赚了200W,你年底会申报收入>12W吗?
  • 另外统计数据对体制内单位,以及小型民营企业也失真的厉害。很多科研院所事业单位都有好几张工资卡,一个月发个3次工资,然后有报销额度拿发票来充。上海市市长也就1W来块的工资,你觉得他真的只赚那么一点吗?但是统计局那里的他的收入就只有那么多。私企工资单上的都一点点,让四金缴个基数即可,另外的钱走发票或者发现金。
  • 可能只有对外企和大型民企的员工,统计局收入统计数据才是准确的,这些人只占总人口数的小部分,也就是所谓的“白领”阶层吧。
  • 综上所述,中国人的实际收入应该比统计局数据高出好多(或者说中国有钱人的收入统计局都没办法统计进去)。而拿统计局的数据来计算比较,从开始就是不可信和不真实的。
  • 依赖工资收入的人很难是有钱人。
  • 中国地域差异极大。
  • 收入前10%的人比一般收入的人高出很多很多,长尾效应。
上海想进前10%怎么也得年入百万以上。
  • 比如你是个老年保安,月薪2K,但是有5,6套房子,价值1200万+,每年房价涨幅10%,年入100万,那么你家可以进入前10%. 如果你把有N套房子的事情口风紧一点,另外其实房子不是现金,房租都给了子女,你平时看起来也不会显得太阔绰。过年的时候,社区干部还要上门慰问一下”低收入人群“,给两桶油什么的,当然你也会笑纳,不拿白不拿嘛。
  • 比如你是外企中层,月薪3W,扣税四金后2.2W, 加奖金什么的,年入30W+。你进不了前10%。但是统计局眼里,你是不折不扣的”高收入“,需要“调节“,每次个税调整,你要缴的个税比例都会增加。
  • 比如你是个国企中层,月薪9K,但是福利多,年终奖20W+(现金支付), 灰色收入20W+,个人所得税基本不交,你可以试着进入前10%. 另外,如果你老婆没工作,没有工资收入的话(其实你老婆开了个淘宝店,你帮她国企里进到便宜货,搞不好赚的比你还多),(讽刺!)你是统计局眼中的" 中低收入 “人群(一家3口每月才9K!),如果没人举报你(举报有难度,后果要自负喔),你还可以申请经济适用房呢,最不济申请个北京的保障住房,赶紧拿号排个队吧!
最后结论:工资真的不重要;统计局的统计数据错的离谱;中国人真的很有钱,外国人理解不了的。
总之,在上海你一年不能让你的财富(总毛收入)增加100W,绝对进不了10%,我坚持我的观点。(不过如果只想进入前20%,门槛将大为降低)


统计样本是有问题的,只统计了工资收入,而上海的机会太多,工资收入占家庭总收入的比例有时可以很低。
以我土生土长的上海乡下人看,大概有如下几个方面的收入是未统计进去的:
1. 有很大部分中专及以下学历的人自主创业(比如做点小生意的),收入远比企业工资高。越来越多的人不安现状,不愿再原来分配单位拿“稳定”工资。因为根本养不活一个家庭。我的家族中基本就是这个样子,隔壁远房亲戚家三个孩子初中毕业走上自谋生路的道路,一个现在经营小企业,一个开了几家皮鞋店,一个不安于那2000元的国企工作现在做装潢,他们目前收入均超过我;而我们这一脉,我们自家兄弟姐妹三人都是名校重点高中,985/211大学毕业,收入水平也仅仅是上图年龄段两倍工资左右。所以,成功的道路多种多样,这个统计用学历来区分高低,在上海是不适用的,用在没有套多机会的小县城还是有点参考价值。
2. 农地补偿,拆迁补偿。大部分的上海人(包括郊区农民),都盼望拆迁,因为这似乎就是一件大赚一笔的美事。而我家所在的乡镇,基本实现农转非,70%拆迁补偿得到了2-3套住房,即使30%未拆迁的,也因为大量外来人口导入,能得到每月可观的房租收入(大致5k-10k)不等。
3. 商铺,商品房租。我认识所有本地人,亲戚,或多或少都有一些房子,铺子出租。越富有的人家,被动收入占总收入的比例越大。我家被动比例大概50%-60%,但绝对不是亲戚朋友中收入最高的。
4. 金融资产,理财,借贷。
上海大妈理财是出了名的,基本不会去抢黄金吧。。。
基本的保本理财也有5-6个点,基金投资-10~20%
本地人大多有些闲钱,一般朋友借贷,基本10个点,一年也有可观收入。

其他灰色收入不计,大致就这些吧。

总结一下,大致来说,纯工资的话,以上图表并没有太大失真,毕竟上海工资并不比其他地区高出1倍2倍。从整个上海来看,学历,年龄,得出平均工资,基本就是这个样子。

但是,我要说的是,用工资x12x人头,得出家庭总收入,那就是大错特错。

上海之所以上海,并不是比其他地方的平均工资多那么20%,而是在于无处不在的致富机遇与财富累积。

一个人的收入会随着年龄的增长,主动性收入渐渐减少,被动收入大大增加。比如房产,金融资产的收入会越来越多。

工资收入在上海家庭总收入的占比也会随着家庭的富裕程度递减。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:匿名用户
链接:https://www.zhihu.com/question/20358832/answer/32864873
来源:知乎

免费通吃电视节目 终结付费电视的神器来了?

160222_d57ej_rci-fangsq1_sn635.jpg
  加拿大广播公司记者索非亚.哈里斯报道说,一个名叫 Android TV Boxes Canada的公司推出了号称将终结电缆电视和卫星电视这样收费电视服务公司生意的机顶盒。
  能“通吃”的电视机顶盒
  这种机顶盒已经在网上开始销售,有高端机顶盒和低端机顶盒之分,售价在1百块到2百块加元之间。虽然售价不菲,但该公司宣称,只要花了这个一次性投资,以后就可以免费看所有的电视节目,包括电视剧和电影。
  这种机顶盒是在Android TV box内灌入软件,以让客户免费获得几乎是没有限制的电视节目和电影,更美的是连广告都没有。
160222_546vf_rci-fagnsq_sn300.jpg
乔尔.亚当斯在网上售卖其电视机顶盒 © Joel Adams
  乔尔.亚当斯Joel Adams住在加拿大新斯科舍省的Hubbards,他在网上销售电视机顶盒Android TV box。亚当斯说,这种机顶盒类似于Netflix,但没有Netflix的一些限制,顾客可以想看什么电视节目就看什么电视节目。
  热销的机顶盒
  乔尔.亚当斯现在还只是把自己的网上电视机顶盒销售公司Android TV Boxes Canada作为副业经营,他白天的工作是在一家印刷公司打工。不过,他一月份卖电视机顶盒的副业收入已经超过了他的主业收入。亚当斯说,他的电视机顶盒很热销,因为这个产品是在是太棒啦!
  乔尔.亚当斯销售的产品,其机顶盒Android boxes是从中国购买的,然后他给机顶盒灌入附加的软件,使其成为可以免费通吃各种电视节目和电影的电视机顶盒。亚当斯说他最热销的的产品是售价120加元的一款机顶盒。
  为何能免费
  乔尔.亚当斯说,安上了他销售的这种机顶盒,客户可以免费观看现在热播的电视剧和电影,还可以观看过去曾经热播的电视剧和电影,因为他给电视机顶盒装入的软件可以让客户获取世界范围的电影、电视节目视频;这些视频来自各种资料分享网站,由世界各地的网民们上传到网站上与人分享。
  亚当斯介绍说,当客户要选看某个电视节目或电影时,只需输入该电视节目或电影的名字,就会有好几个链接出现,顾客可以任选一个链接点击观看。亚当斯承认,有时会出现一些链接无法工作的情况,但只要再试几个、就可以找到一个成功的链接。
  乔尔.亚当斯指出,虽然人们已经可以用电脑找到一些链接观看电视节目或者是电影,但他销售的电视机顶盒的好处是简化了寻找工作、把各种视频分享播放网站集中起来供客户选择。
  满意的顾客
  Jenna Galloway女士用了亚当斯的电视机顶盒后非常满意,她说不久前刚看了电影 Zoolander 2,而那时这个火爆电影还在电影院中放映;她还看了英国电视节目Call the Midwife,而这个节目要到今年春天才会在加拿大电视台开播。可见这机顶盒有多棒、多给力了!
  Jenna Galloway女士在两年前取消了有线电视服务,因为每个月的账单太高;她用Netflix公司的电影电视播放服务来取代原来的有线电视服务;现在有了亚当斯卖给她的电视机顶盒,她连Netflix的月费都省掉了。
  Jenna Galloway女士说不但她家现在看电视离不开亚当斯的Android TV box,而且她的亲戚朋友也都买了亚当斯销售的电视机顶盒。
  是否合法
  那么,这么没有限制的免费看受版权保护的电视节目和电影是否触犯法律呢?
  专家们说,加拿大版权法禁止未经准许下载受版权保护的电影、电视和音乐歌曲,但不下载只是播放(streaming)却属于法律的灰色地带,至少目前来说这仍然是一个没有被法律禁止的事情。
  加拿大版权法专家、Fasken Martineau律师事务所律师托马斯女士Ariel Thomas认为,从播放网站收看电视节目或者电影可能不属于侵犯版权的行为,但像乔尔.亚当斯那样,把专门软件灌入Android TV box却可能属于违反版权法的行为,因为版权法禁止任何专门方便他人侵犯版权的服务。
  乔尔.亚当斯知道自己打的是擦边球,认为最可能会采取法律行动禁止他销售电视机顶盒的会是有线电视公司,所以他还不能辞去目前在印刷公司的工作。
  从亚当斯手里买了电视机顶盒的Jenna Galloway女士也担心哪一天她的电视机顶盒会无法收看免费的电视节目,但她并不后悔;因为她花在购买电视机顶盒上的钱是在是太物有所值了,就是只能用半年都值。
- See more at: http://www.bcbay.com/news/2016/02/22/399553.html#sthash.qrJIOnup.dpuf

airbnb

What is Host Protection Insurance?

The Host Protection Insurance program provides primary liability coverage for up to $1,000,000 per occurrence in the event of a third-party claim of bodily injury or property damage related to an Airbnb stay.
This coverage is subject to a $1,000,000 cap per listing location, and certain conditions, limitations, and exclusions may apply. Review the list of the covered countries.
The Host Protection Insurance program will only act as the primary insurance coverage for incidents related to an Airbnb stay, but it's available to hosts regardless of their other insurance arrangements.
Here are some examples of what the Host Protection Insurance program should cover:
  • A guest breaks their wrist after slipping on the rug and brings a claim for the injury against the host.
  • A guest is working out on the treadmill in the gym of the apartment building. The treadmill breaks and the guest is injured when they fall off. They bring a claim for the injury against the host and the landlord.
  • A guest accidentally drops their suitcase on a third party's foot in the building lobby. The third party brings a claim for the injury against the host and the landlord of the host’s building.
Some examples of what the Host Protection Insurance program doesn’t cover:
  • Intentional acts where liability isn’t the result of an accident.
  • Accusations of slander or defamation of character.
  • Property issues (ex: mold, bed bugs, asbestos, pollution).
  • Auto accidents (ex: vehicle collisions).
For now, this policy only applies to hosts in covered countries. We’re working hard to expand this and other programs to hosts around the world. You can find the list of the covered countries at www.airbnb.com/host-protection-insurance.

The Host Protection Insurance programme is currently available for hosts in the Australia, Canada, China, France, Germany, India, Ireland, Italy, Japan, The Netherlands, New Zealand, Portugal, Singapore, Spain, United Kingdom and United States.

Monday, 22 February 2016

心理学上最诡异的15张图,准的让人尖叫!

看透你的内心,被誉为世界上最诡异的15张图。
01. 这是一张静止的图片,你的心理压力越大,图片转动越快,而儿童看这幅图片一般是静止的。测试下您心理的压力。
02. 下图里的横线都是平行的!涉世越深的人,受社会侵蚀越严重,看到的直线越变形。你还是单纯的你吗?你能看出几条笔直的横线?
03. 你能看到多少个人头?0—4张:弱智;5—8张:一般人;9—11张:特别感性;11—13张:精神分裂。
04. 测测你是男是女,据说很准。有些男人,性格中有女人的特质;有些女人,性格中有男人的特质。测试一下,你是纯正的男人(或女人)吗?凡是第一眼看下图是鸭子的,就是男人特质多一点,凡是第一眼看到是兔子的,就是女人特质多一点。
05. 这是一张静态图片,如果你看到运动的景象,表明你的生活压力大,内心情绪波动比较大。
06. 你的心情怎么样?当你心情好的时候,能看到少女的脸;心情坏的时候,能看到巫婆的脸
07. 第七届年度最佳幻觉比赛(Best illusion of the year contest)在美国佛罗里达评选出了冠军作品:爱的面具(Mask of Love),它的谜题是——面具中的人像,其实是一男一女在Kiss,你看出来了吗?
08. 心理测试:心理压力越大,黑色小点闪动得就越快,该死的小黑点还是安静点吧!
09. 一张图片测试你的好色程度。60秒内,你能找到几只海豚?找到3只以下的童鞋读《知音》提高修养去吧!(这图很有趣。孩子们第一眼看到的是一群玩耍的海豚,但是成年人第一眼看到的却是“另一些东西”。画名为《海豚的爱》)你找到几只海豚?
10. 你喜欢哪张脸?选择左边的,你的喜好和广大男人们的喜好是一致的。这两张脸都是合成的,左边一张是由8个小脚女人的脸合并而成;右边这个是8个大脚女人的脸合成的。通常,小脚女人有着更为漂亮的脸蛋。这一结论是纽约奥尔巴尼大学进化心理学家Jeremy Atkinson引导的实验中得出的.
11. 在图里,你看到了什么?5秒内看到的话,你很牛!
12. 测试你的智力。你能看道多少张脸呢?1—3张:轻度弱智;3—6张:正常人;7—10张:超与常人;11—15张:天才!
13. 眼力大考验,你能看见男人的脸吗?
14. 走出迷宫,你适合什么职业?终点A的人适合职业:po.lice、教练、作家。终点B的人适合职业:漫画家、会计、导演、设计师。终点C的人适合职业:领导、律师、指挥。终点D的人适合职业:医生、教师、歌手、记者、工人。终点E的人适合职业:演员、司机、商人、基层管理人员。
15. 压力测试图。1、如果看到波涛汹涌,那么请马上休假;2、如果你看到微波荡漾,请小休几日;3、如果看到很多颗榛子,请继续为人民币服务。


以上被誉为世界上最诡异的15张图,感觉不错可以给朋友们试试。

美食琅琊榜——卡尔加里篇



如果你是以尝遍天下为己任的吃货,卡尔加里实在是太对胃口了!今天小艾作为吃货担当,带你寻遍卡尔加里大街小巷,从早餐到午餐,再到晚餐、午夜酒吧,让你一天吃遍卡尔加里!




1

完美的一天从早餐开始

一顿完美的早餐可以让你一整天都充满活力并且心情愉悦!在卡尔加里,早餐店有速食和堂食两种。如果你一天的行程排的很满有很多景点要逛,那么可以去Tim Hortons打包一杯香浓的咖啡和bagel为你充分节约时间;如果你时间充裕,你也可以坐下来和家人朋友边聊聊天边悠闲地享用一顿早餐,这些需求卡尔加里的早餐店统统能满足哦。

加拿大人的星爸爸——Tim Hortons
Tim Hortons是加拿大人吃早餐常去的地方,早成为加拿大人生活中不可缺少的一部分,被誉为“加拿大人的星巴克”。更重要的是,用几块加币就能吃一顿很好的早餐啦。Tim Hortons是全国连锁,在卡尔加里随处可见,不怕找不到。

自助早餐之神——Thomsons Restaurant at Hyatt Regency

卡尔加里Hyatt Regency酒店里的 Thomsons Restaurant,因“Thomson’s Sunday Brunch”(周日早午自助餐)而久负盛名。这家早午餐的自助种类非常丰富,从加拿大烟熏火腿培根、煎蛋卷,到鲜虾淡菜,再到精致的甜点,周日的早上就这样懒洋洋、美味又可口地开始了!除了周日特供的早午餐,每天早上这里也正常提供有自助早餐。Thomsons Restaurant 在2014年被《AvenueMagazine》杂志评为卡尔加里最佳餐厅之一。



早餐自助时间:周一-周日6:30am-10:30am
周日早午自助餐供应时间: 10:30am-1:30pm
地址:700 Centre Street SE, Calgary, AB, Canada
电话:403-537-4449
网址:http://calgary.hyatt.com/en/hotel/dining/ThomsonsRestaurant.html


传统美式早餐店——Galaxie Diner
Galaxie Diner是一家“价格美好、食物更加美好”的美式早餐店。他们家的必点美食是BreakfastBurrito(墨西哥卷)和 Omelette(煎蛋卷)。特别值得一提的是,煎蛋卷不管你加火腿、熏肉还是芝士等其他配料,价格都是一样的哦!

早餐供应时间:周一-周五7:00am - 3:00pm;周末7:00am - 4:00pm
地址:1413 11th St SW, Calgary, AB, Canada
电话:403-228-0001
网址:http://www.galaxiediner.ca/


2
午餐能量补充站

午餐可是一天之中承上启下的重要一餐,补充好体力才能更愉快地玩耍!如果玩得尽兴错过了午餐时间,那也不怕,下面也为你推荐了下午也能享受到美食饱餐一顿的餐馆。

比景点还美的餐厅——River Café 
River Café位于王子岛公园,当地的上等食材将本地菜天然和新鲜的口感完全地展现了出来。在这里享受一顿午餐或者晚餐简直像是来到了一个景点游玩一般休闲自在。River Café在Tripadvisor上排名也非常靠前,在卡尔加里所有餐馆里排名第八。

营业时间:周一-周五11:00am-10:00pm;周末10:00am-10:00pm
地址:25 Prince's Island Park, Calgary, AB, Canada
电话: 403-261-7670
网址:http://www.river-cafe.com/


现代风小馆——Yellow Door Bistro at Hotel Arts 
Yellow Door Bistro在2013年被《Where Calgary Magazine》评选为卡尔加里最好的餐厅。它的特别之处到底在哪里呢?Yellow Door Bistro的主厨将小酒馆式菜系和经典的食材融合在一起,带来了现代的感觉。餐厅的装潢也是同样的混搭风格,给人非常新鲜的体验。餐厅离国家音乐中心(National Music Centre)不远,在Yellow Door Bistro吃完午餐可以来这里逛逛。

营业时间:周一-周四6:30am-10:00pm;周五6:30am-11:00pm;周六日7:00am-11:00pm
地址:119 12th Ave SW, Calgary, AB, Canada
电话:403-206-9585
网址:http://www.yellowdoorbistro.ca/


弓河畔的美味——Rouge
Rouge是一家法式餐厅,也是卡尔加里乃至加拿大最知名的餐馆之一,餐厅的建筑是一所具有历史意义的宅第,建造于1891年。而且餐厅就比邻弓河河畔,游览完弓河可以来这里享用午餐。Rouge坚持使用本地的食材,新鲜的材料加上高超的烹饪技巧让食客不仅仅有味觉上非凡的体验,更能感受到料理人的心意。在Rouge品尝的不仅仅是美食,更是一种情调和卡尔加里人对待美食的态度。Rouge在Tripadvisor上的评分拿到了4星半(满分5颗星)可见好评度还是很高的。

营业时间:周一-周五11:30am-1:30pm; 周一-周六5:00pm-10:00pm
地址:1240 8th Ave SE, Calgary, AB, Canada
电话:403-531-2768

◆ 错过午餐时间也不怕饿肚子——Cibo
Cibo也是一家非常具有意大利特色的餐馆,它的特色披萨和意大利式的烧烤是你不得不尝一尝的菜肴。Cibo会经常有特殊的优惠活动,感兴趣的你千万不要错过哦。在结束营业前的半小时,所有的常规披萨统统半价。周一-周五3:00pm-5:00pm所有披萨都只要$5,错过午餐的可以来这里享用美食。

营业时间:周日-周四11:00am-10:00pm;周五-周六11:00am-12:00am
地址:1012 17th Ave SW, Calgary, AB, Canada
电话:403-984-4755

3
犒劳自己需要一顿美美的晚餐

卡尔加里充满着包容多元的气息,这一点也充分地体现在了卡尔加里的美食上。在这里,美食也不拘泥、无国界,你可以品尝到各国正宗的菜肴。异国风味的精华都浓缩在卡尔加里的街头了,那么晚餐就一起来探索一下卡城的世界各地的美味吧。

◆ 最具有艾伯塔风味的餐厅——The Keg
牛肉可是令艾伯塔人最引以为傲的本地菜了!3A级的牛肉是一定要吃滴!牛肉的品质决定了牛排的层次,艾伯塔完美的气候、水源、草场条件育养出油花丰富、肥瘦适中、香味浓郁而口感柔嫩的艾伯塔牛肉。因此,“艾伯塔的牛排是全世界最好的”这一说法在美食圈不胫而走,在卡尔加里你又怎能错过这可绕梁三日而不绝的美食享受!The Keg的牛排频频上榜各大美食网站,所获评价都在四星以上,可谓不得不去的美食餐厅之一。

营业时间:周一-周四5:00pm-10:00pm;周五-周六4:30pm-11:00pm;周日4:30pm-9:30pm
地址: 320 4th Avenue SW, Calgary, AB, Canada
电话: 403-699-9843
网址:https://www.kegsteakhouse.com/locations/4th-avenue-keg/


◆ 意大利比萨屋——Pulcinella
Pulcinella带有强烈的意大利特色的餐厅,这里的披萨烤炉是用那不勒斯不远的维苏威火山上采掘的石头建造的。这家餐厅的特色是松脆的那不勒斯薄饼披萨,上面的配料简单但是整体口感非常的美味。

营业时间:11:30am-11:00pm
地址:1147 Kensington Crescent NW, Calgary, AB, Canada
电话:403-283-1166
网址:http://pulcinella.ca/


◆ 风情西班牙小馆——Ox and Angela
Ox and Angela是一家具有浓浓西班牙风情的餐馆。店内的装饰是欧洲乡村风格,营造出欧洲风情的感觉。而这里最为特色的要数带着强烈的伊比利亚半岛特色的西班牙小吃了。曼彻格(Manchego)奶酪、西班牙煎蛋饼、熏火腿(jamon serrano)等等都将你瞬间拉到了西班牙热情似火的街头。在Tripadvisor上Ox and Angela的评分也拿到了4星半哦,并且被Opentable评选为2015年卡尔加里最受食客欢迎的餐厅!

营业时间:每日11:00am-深夜
地址:528 17th Ave , Calgary, AB, Canada
电话:403-457-1432
网址:http://oxandangela.com/


最新鲜的寿司——Sushi Bar Zipang

这家在Tripadvisor上拿到了4星半(满分5颗星)的日本料理店,也是你不能错过的卡尔加里街头的异国美味!最新鲜的三文鱼、金枪鱼和各类鲜虾海鲜刚从海里打捞就变成一个个鲜美的寿司摆在你的桌前啦!爱寿司、爱日料的你可以来Sushi Bar Zipang好好享受美味!

营业时间:周一-周五11:30am-2:00pm;周一-周六5:00pm-9:00pm
地址:1010 1 Avenue NE, Calgary, AB, Canada
电话:403-262-1888
网址:http://zipang.ca/


港式茶餐厅——T.Pot
T.Pot有一个洋气的中文名字,名叫大户人家。这一家中餐厅在Tripadvisor的评分为3.8分(满分为5星),并且被一位我们的粉丝兼卡尔加里资深吃货强烈推荐上榜!这是一家港式茶餐厅,这里各式各样的美食在Tripadvisor上被人评价为“卡尔加里最好吃的点心”! 作为吃货的你,来到卡尔加里一定不能放过这么美味的中餐厅,快来尝一尝到底有多美味正宗!

营业时间:周一-周四10:00am-3:00pm&5:00pm-10:00pm;
          周五10:00am-3:00pm&5:00pm-11:00pm;
          周六9:00am-3:00pm&5:00pm-11:00pm;
          周日9:00am-3:00pm&5:00pm-10:00pm
地址:9650 Harvest Hills Blvd NE, Calgary, AB, Canada
电话:403-532-3982
网址:http://www.tasteofasiagroup.ca/


酸酸辣辣云南味——South Silk Road
云之南(South Silk Road)在Tripadvisor上评分4颗星(满分5颗星),这家中餐馆最独特的之处在于主打非粤菜——滇味私房菜。众所周知国外的中餐馆要数粤菜最多,而在卡尔加里的云之南,你可以吃到地道的云南菜。酸酸辣辣的口味让你味觉跳动起来!

营业时间:周三-周一11:00am-9:00pm
地址: 823 14 St NW, Calgary, AB, Canada
电话:403-270-0707

川味就是这个味——Szechuan Restaurant

嗜辣的朋友们的福利来了!如果你吃饭时无辣不欢,那么这家川菜馆——川味轩一定是你必来之地。川菜里红红的辣油、辛辣喷香的小米椒,让人食欲大开!

营业时间:周一-周日11:30am-2:30pm&4:30pm-2:30pm
地址: 414 16 AveNW, Calgary, AB, Canada
电话:403-276-8876

4
酒吧与小酒馆——干杯,卡尔加里不眠夜

灯初上夜未央,卡尔加里的晚上有种别样的美丽。结束了一天的行程,快来酒吧和小酒馆好好放松一下吧。你可以在气氛热烈的酒吧里尽情享受,在安静惬意的清吧里与朋友聊聊天喝喝小酒,你还能尝到艾伯塔特有的自酿啤酒,多种滋味别样美妙。

新式酒吧老味道——National

National是一家带有老派卡尔加里格调的新酒吧,他自然的融入了第17大道的氛围,毫无违和感。在这里的户外平台上,人们会放松地随意交谈,尤其在卡尔加里牛仔节期间你会常常听到人们发出“YA-HOO”的呼喊,那是牛仔表达心中快乐的方式。

营业时间:11:00am-午夜
地址:550 17th Ave SW, Calgary, AB, Canada
电话: 403-229-0226
网址:http://ntnl.ca/national-17th/home-ntnl17


卡尔加里火焰球迷主场——Flames Central 
Flames Central以前是一家电影院,如今巨大的内部被改造成了体育酒吧。这里的电视的数量两只手都数不过来,能让你好好地欣赏心爱的卡尔加里火焰队(Calgary Flames)的冰球比赛。Flames Central简直就是卡尔加里火焰队球迷的主场。

营业时间: 周一9:00am-5:00pm;周二-周四11:00am-5:00pm;周五11:00am-次日2:00am;周六4:00pm-次日2:00am
地址:219 8th Ave SW, Calgary, AB, Canada
网址:http://flamescentral.com/


艾伯塔自酿啤酒——Wild Rose Brewery
同样位于卡尔加里的野玫瑰啤酒厂(Wild Rose Brewery),用最天然的原料混合艾伯塔自由狂野的精神酿造精致啤酒,亟待你去发现。野玫瑰啤酒厂的格言是“strong and free”(强壮且自由),它的啤酒也蕴含着这样的精神。更可贵的是,酒厂严格把控啤酒酿造的质量,因此生产出的啤酒精而少,只有在艾伯塔你才能真正品尝到纯正的野玫瑰的啤酒。为了这一杯绝佳口感的啤酒,快来吧!

营业时间:周一-周六11:00am-11:00pm,周日11:00am-9:00pm
地址: Building AF23 #2, 4580 Quesnay Wood DriveSW, Calgary, AB
电话:403-727-5451